Jquery 验证引擎正则表达式
Posted
技术标签:
【中文标题】Jquery 验证引擎正则表达式【英文标题】:Jquery Validation Engine Regular Expression 【发布时间】:2012-07-12 06:35:48 【问题描述】:我正在使用 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 错误 else: 流程字段
我将如何做到这一点以匹配“名称”。附加问题:我也有包含多个单词的输入字段,例如“您的电话号码”。正则表达式会有所不同吗?
提前致谢
【问题讨论】:
【参考方案1】:你说得非常正确,Tom - 我们的电线被交叉了 - 你实际上想要否定正则表达式,所以使用...
/^(?!^Name$).*$/
这使用negative lookahead 匹配任何内容(即验证任何内容) Name
。
电话一号也是如此……
/^(?!^Your Phone Number$).*$/
当然,这些实际上不会验证它们是有效的名称(它们是什么?:))或有效的电话号码,只是它们不是 Name
或 Your Phone Number
没错...
【讨论】:
我已经尝试过了,但仍然弹出错误... "name": "regex":"/^Name$/", "alertText":"请输入您的姓名", 感谢 El Ronnoco 的帮助,再次尝试后错误是相反的 - 如果我在字段中输入“名称”,它不会出错,但会出错。有什么想法吗? 你能发布更多代码吗?或者更好地在 jsFiddle 上创建一个演示来展示您的问题? 这是一个演示...bit.ly/MmBRJZ 'name 未更改' 时不验证,更改时不验证。这与我想要发生的事情相反。 我想我们可能会在这里稍微有点过头了,但我感谢您的帮助。我试图仅在名称字段等于名称时进行验证。如果输入了其他任何内容,那么我不希望验证。您创建的 Fiddle 似乎相反。有什么办法可以逆转吗?以上是关于Jquery 验证引擎正则表达式的主要内容,如果未能解决你的问题,请参考以下文章