我没有正则表达式的经验,但我需要使用jquery验证一些值。经过研究,我发现了一些解决方案,并且我已经编写了一个脚本。
我需要实施以下规则:
字符串应包含至少一个字母(大写或小写),一个数字,一个特殊字符,长度应在5到10之间。
$('form').submit(function(){
var value = $('#someValue');
if (!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).{5,10}+$/.test(value)) {
alert('validation error');
return false;
}
})
我不知道我是对还是错,需要一些来自大师的建议=)
答案 0 :(得分:1)
您需要在+
之后删除.{5,10}
并使用:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[_\W]).{5,10}$/
否则.{5,10}+
会导致Javascript出错,因为JS正则表达式中没有占有量词。