https://regex101.com/r/RLi59p/1
/(?=.*[0-9])(?=.*[a-z])([a-z0-9]+)[!@#$%^&*]*$/i
我制作的正则表达式匹配以下模式:
Test2123
568test
test2rest
@test2rest
@test2rest@
但它无法匹配以下模式
@test2rest@5
@test2rest@test
最佳答案
您需要在您的正则表达式中做一些小的更正,并像这样将所有允许的字符定义在一起,
(?=.*[0-9])(?=.*[a-z])[a-z0-9!@#$%^&*]*$
在你的正则表达式中,你有这个,
([a-z0-9]+)[!@#$%^&*]*
这意味着在您的输入字符串中,字母数字字符必须在前面,特殊字符在最后,这就是它失败的原因。
关于javascript - 正则表达式匹配字符串中的字母和数字,可选地具有一组特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52982428/