使用 jquery 验证插件,如何在文本框上添加正则表达式验证?
Posted
技术标签:
【中文标题】使用 jquery 验证插件,如何在文本框上添加正则表达式验证?【英文标题】:using the jquery validation plugin, how can I add a regex validation on a textbox? 【发布时间】:2010-11-06 10:04:20 【问题描述】:我正在使用来自 http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 的 jquery 验证插件
如何在特定文本框上添加正则表达式检查?
我想检查以确保输入是字母数字。
【问题讨论】:
这里有很多额外的方法插件bassistance.de/jquery-plugins/jquery-plugin-validation 【参考方案1】:定义一个新的验证函数,并在要验证的字段的规则中使用它:
$(function ()
$.validator.addMethod("loginRegex", function(value, element)
return this.optional(element) || /^[a-z0-9\-]+$/i.test(value);
, "Username must contain only letters, numbers, or dashes.");
$("#signupForm").validate(
rules:
"login":
required: true,
loginRegex: true,
,
messages:
"login":
required: "You must enter a login name",
loginRegex: "Login format not valid"
);
);
【讨论】:
注意:addmethod 不需要进入 document.ready,也可以立即加载,腾出 document.ready 用于需要进入的内容。 如果值不是字母数字则显示特定的错误消息,如果它不在最小/最大长度之间,则需要更改什么? @Cofey - 我实际上并没有验证(双关语)这是有效的,但我使用docs.jquery.com/Plugins/Validation/validate#options的文档更新了示例以使用自定义错误消息【参考方案2】:不熟悉 jQuery 验证插件,但这样的东西应该可以解决问题:
var alNumRegex = /^([a-zA-Z0-9]+)$/; //only letters and numbers
if(alNumRegex.test($('#myTextbox').val()))
alert("value of myTextbox is an alphanumeric string");
【讨论】:
@karmin79:感谢优雅的解决方案。只是一件小事,您在“”之前缺少一个“)”。以上是关于使用 jquery 验证插件,如何在文本框上添加正则表达式验证?的主要内容,如果未能解决你的问题,请参考以下文章
使用 IE9、jquery 插件/html 验证的占位符问题