我是一个有正则表达式的新手,但这很简单,我无法理解为什么它允许在字符串之前使用引号或点之类的特殊字符,当我在jquery验证插件中使用它们来验证表单时。我需要输入为6个字符(3个字符,然后是3个数字)
这是代码
$(document).ready(function()
{
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
$('#taxistep1').validate({
rules:{
'targa':{
required: true,
regex: "[A-Za-z]{3}[0-9]{3}"
}
},
messages:{
'targa':{
required: "Inserire il numero di targa",
regex: "Formato targa non valido"
}
}
});
});
答案 0 :(得分:2)
尝试使用start(^
)和end($
)锚来分别匹配输入字符串的开头和结尾:
regex: "^[A-Za-z]{3}[0-9]{3}$"
这将确保在输入的匹配部分之前或之后不会出现多余的字符。