Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 密码验证正则表达式_Regex - Fatal编程技术网

Regex 密码验证正则表达式

Regex 密码验证正则表达式,regex,Regex,我正在尝试使用以下要求验证servlet上的密码 o密码必须由一个数字和下列之一组成 特殊字符:!@$%^&*() 注意:1和!1都是有效密码 我一直想去工作的正则表达式是 ?=.*[a-zA-Z])(?=.*\\d)(?=.*[!@#$%&*()_+=|<>?{}\\[\\]~-]) ?=.[a-zA-Z])(?=..*\\d)(?=.[!@$%&*()。+=\\\[\]~-])) 但是它不需要1或!1为什么不像这样“简单” /^((?:\d[!@#$%^&*(

我正在尝试使用以下要求验证servlet上的密码

o密码必须由一个数字和下列之一组成
特殊字符:!@$%^&*()

注意: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
现在应该匹配了,这是一个小括号错误。:)