目前使用的正则表达式如下:
(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}
对应的验证规则是:密码中必须包含字母、数字、特称字符,至少8个字符,最多30个字符。
这个正则表达式在C#可以正常使用,但是在Javascript中却有问题。
请问是在js中如何写这样的正则表达式?
测试字符串:a123456-
把\d改为[0-9]问题就解决了,正则表达式如下:
var regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}'); console.log(regex.test('a123456-'));
多谢!