首页 新闻 搜索 专区 学院

Javascript正则表达式验证密码复杂度

0
悬赏园豆:30 [已解决问题] 解决于 2014-11-03 12:34

目前使用的正则表达式如下:

(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}

对应的验证规则是:密码中必须包含字母、数字、特称字符,至少8个字符,最多30个字符。

这个正则表达式在C#可以正常使用,但是在Javascript中却有问题。

请问是在js中如何写这样的正则表达式?

测试字符串:a123456-

dudu的主页 dudu | 高人七级 | 园豆:36360
提问于:2014-11-03 12:13
< >
分享
最佳答案
0

把\d改为[0-9]问题就解决了,正则表达式如下:

var regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}');
console.log(regex.test('a123456-'));
dudu | 高人七级 |园豆:36360 | 2014-11-03 12:34

多谢!

jiangjunzhang | 园豆:200 (初学一级) | 2015-07-06 16:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册