【发布时间】:2011-05-26 01:06:56
【问题描述】:
这里提出了这个确切的问题:
using the jquery validation plugin, how can I add a regex validation on a textbox?
但不幸的是,发布的解决方案对我不起作用。我正在使用非常流行的 jquery 验证插件,特别是这个版本:
http://jquery.bassistance.de/validate/jquery.validate.js
我尝试添加自定义字母数字函数(来自上述堆栈溢出问题),如下所示:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script type="text/javascript">
$(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.");
$("#myForm").validate({
rules: {
"login": {
required: true,
loginRegex: true,
}
},
messages: {
"login": {
required: "You must enter a login name",
loginRegex: "Login format not valid"
}
}
});
});
</script>
<form method="post" id="myForm">
<input type="text" name="login" />
<input type="submit" value="Go" />
</form>
如果您运行此代码,您会看到它只验证某种类型的输入,而不是通过自定义字母数字函数验证输入。如何让它发挥作用?
【问题讨论】:
-
什么不起作用?输入除数字、字母或破折号以外的任何内容,您将收到错误消息 (jsfiddle.net/SwEJb)
-
@Andrew Whitaker 你是对的,不知道为什么前几天它不起作用。我只在其他一些代码必须冲突的主站点上尝试过。但在这个独立版本中,它似乎工作正常。谢谢。
标签: javascript jquery