Regex 密码验证正则表达式
我正在尝试使用以下要求验证servlet上的密码 o密码必须由一个数字和下列之一组成Regex 密码验证正则表达式,regex,Regex,我正在尝试使用以下要求验证servlet上的密码 o密码必须由一个数字和下列之一组成 特殊字符:!@$%^&*() 注意:1和!1都是有效密码 我一直想去工作的正则表达式是 ?=.*[a-zA-Z])(?=.*\\d)(?=.*[!@#$%&*()_+=|<>?{}\\[\\]~-]) ?=.[a-zA-Z])(?=..*\\d)(?=.[!@$%&*()。+=\\\[\]~-])) 但是它不需要1或!1为什么不像这样“简单” /^((?:\d[!@#$%^&*(
特殊字符:!@$%^&*() 注意:1和!1都是有效密码 我一直想去工作的正则表达式是
?=.*[a-zA-Z])(?=.*\\d)(?=.*[!@#$%&*()_+=|<>?{}\\[\\]~-])
?=.[a-zA-Z])(?=..*\\d)(?=.[!@$%&*()。+=\\\[\]~-]))
但是它不需要1代码>或!1
为什么不像这样“简单”
/^((?:\d[!@#$%^&*()])|(?:[!@#$%^&*()]\d))$/
[!@$%^&*()]特殊字符
\d一位数
(?:…)不要捕获组
|“或”运算符
^(字符串)开始
$(字符串)结束
如果只有这些特殊字符中的一个和只有一个数字应该匹配
迷你Javascript演示:
var items=[“!1”,“1!”,“123123”,“123!”,“1!”!2@3"]
对于(项目中的变量idx){
var项目=项目[idx];
document.write(item+“=>”+(item.match(/^((?:\d[!@$%^&*()]){1}|(?:[!@$%^&*()]\d))$/)| |“nomatch”);
文件。写(“
”);
}
试试这是否匹配1!2@3
现在应该匹配了,这是一个小括号错误。:)