作者:凌微茵_686 | 来源:互联网 | 2023-01-09 17:39
我有一个regex
表达式来测试我的密码:至少一个数字,至少一个大写字母,至少一个低位字母和至少一个特殊字符.
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s])/
但是下划线并不被认为是special character
.
我怎样才能改善这个?
1> lilezek..:
这里的问题是,对于Javascript,\w
代表:
[a-zA-Z0-9_]
所以你是在_
隐含地避免.
释
这部分正则表达式:
(?=.*?[^\w\s]) // Match special character
相当于:
(?=.*?[^a-zA-Z0-9_\s])
参考书目
\ w元字符用于查找单词字符.
单词字符是az,AZ,0-9中的字符,包括_(下划线)字符.
https://www.w3schools.com/jsref/jsref_regexp_wordchar.asp