我在用户名字段中有一个要求,我必须验证特殊字符但允许'。'点字符。 我们在插件字母数字中有自定义方法,但它不允许使用点。请查看fiddle
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, and . only please");
答案 0 :(得分:6)
使用此正则表达式/^[\w.]+$/i
您可以使用正则表达式的字符集[]
来选择多个字符。
^
表示它从字符串的开头开始匹配。
\w
表示它接受所有字母数字(A-Za-z0-9)
和下划线(_)。
我在字符集中添加了.
以允许字符.
。
您可以在[]
字符集中添加更多字符以允许它们。
+
意味着它将继续匹配字符串中的所有字符。
$
意味着它将检查直到行的末尾是否有多行
i
是一个标志,表示其不区分大小写。
这是更新的小提琴
http://jsfiddle.net/YsAKx/330/
更新了JS
$(document).ready(function () {
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[\w.]+$/i.test(value);
}, "Letters, numbers, and underscores only please");
$('#myform').validate({ // initialize the plugin
rules: {
field: {
required: true,
alphanumeric: true
}
},
submitHandler: function (form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
}
});
});