【发布时间】:2014-07-31 09:07:18
【问题描述】:
我正在使用 jquery 验证插件来验证用户名的输入。
$.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9\-]+$/i.test(value);
}, "Your username can only contain letters, numbers and hyphens.<br />Spaces and special characters are not permitted.");
$('.setUsername-form').validate({
errorElement: 'label', //default input error message container
errorClass: 'help-inline', // default input error message class
focusInvalid: false, // do not focus the last invalid input
ignore: "",
rules: {
chosenUsername: {
required: true,
minlength: 4,
alphanumeric: true
}
},
堆栈溢出错误“您的用户名只能包含....”。这很好。
stackoverflow 不会出错 - 太棒了!
stack-overflow 错误,没有输出。这是一个可接受的用户名,应该可以使用。
有什么想法吗?我无法发现问题。是正则表达式吗?我正在尝试允许使用字母字符、数字字符和连字符。 A-Z、a-z 和 -。 [a-zA-Z0-9\-]不正确吗?
【问题讨论】:
-
你的正则表达式没问题。
-
嗯...感谢您的确认
-
您在代码中提到的正则表达式是正确的。
^[a-zA-Z0-9\-]$允许单个字符。 -
您也可以包含 the plugin's
additional-methods.jsfile 并使用它的alphanumeric规则而不是尝试编写自己的规则。
标签: jquery regex jquery-validate