我正在使用jQuery验证插件。我已将自定义验证规则添加为
$.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z][a-zA-Z0-9]+$/i.test(value);
}, "No special characters");
我用于配置validator
。
var $validator = $("#wizardForm").validate({
rules: {
entity_name: {
required: true,
alphanumeric: true
}
}
});
alphanumeric
规则对于带有name="entity_name"
的元素完全适用
然后我将规则添加到类rename-prop
的元素中,如下所示。
$('#wizardForm').find('.rename-prop').each(function() {
$(this).rules('add', {
required: true,
alphanumeric: true
});
});
问题
此required
规则非常适用于类rename-prop
的元素,但alphanumeric
规则仅适用于rename-prop
分类的元素。当它适用于entity_name
字段时。
答案 0 :(得分:0)
使用此正则表达式/ ^ [\ w。] + $ / i
您可以使用正则表达式的字符集[]选择多个字符。
正则表达式中的^表示它从字符串的开头开始匹配。
regex中的\ w表示它接受所有字母数字(A-Za-z0-9)和下划线(_)。
我添加了。在字符集中允许字符。也。
您可以在[]字符集中添加更多字符,也允许它们。
$表示它将检查多行,直到行末
regex中的i是一个不区分大小写的标志。
$(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
}
});
});