2012-07-12 108 views
2

我正在使用jQuery来验证输入表单。我在我的输入框名称,电话等等的值是作为用户指南的幽灵提示。Jquery验证引擎正则表达式

我的问题出现在jQuery验证中,因为它将这个幻影文本识别为输入,因此在用户输入任何内容之前处理表单。

输入字段:

<input class="validate[required,custom[name]] text-input" type="text" name="Name" id="Name" value="Name" onfocus="if 
(this.value==this.defaultValue) this.value=''; " onblur="if(this.value=='') this.value=this.defaultValue;" /> 

正则表达式的验证引擎js文件:

"name":{ 
    "regex":"/(Name)$/", 
    "alertText":"Please enter your name"}, 

我的目标是:

如果输入字段= “名称”{显示JS错误} 否则:过程域

我该怎么做才能匹配“名称”。附加问题:我也有多个词作为幽灵文本的输入字段,例如“您的电话号码”。正则表达式与此不同吗?

在此先感谢

回答

1

你是完全正确的汤姆 - 我们得到了我们的电线穿过 - 你有效地要否定的正则表达式所以用...

/^(?!^Name$).*$/ 

这将使用negative lookahead以匹配任何东西(即验证任何东西)而不是Name

同样的电话号码一个...

/^(?!^Your Phone Number$).*$/ 

当然,这些不会真正确认它们是有效的名称(它们是什么?:))或有效的电话号码,只是他们NameYour Phone Number正是 ...

+0

我已经试过了,但我依然得到错误弹出... “名”:{ \t“正则表达式”:“/ ^名称$ /“, \t“alertText”:“请输入您的姓名”}, – Tom 2012-07-12 14:01:45

+0

感谢您的帮助El Ronnoco,在再次尝试错误后反过来 - 如果我将'Name'放入字段中,它不会出错,但是其他任何内容确实。有任何想法吗? – Tom 2012-07-12 14:05:53

+0

你能发表更多的代码吗?或者更好的在jsFiddle上创建一个演示来展示你的问题? – 2012-07-12 15:11:34