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

我双手接过晶莹的雪花,想数一数它有几朵花瓣,谁知它到手上就不见了,变成了小水珠。

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


(?=.*\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-'));

下面在看下正则表达式校验密码的方法

密码规则:6-20位字母数字组合:


var reg = /^[A-Za-z0-9]{6,20}$/;

以上所述是小编给大家介绍的Javascript校验密码复杂度的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

本文Javascript校验密码复杂度的正则表达式到此结束。在强者的眼中,没有最好,仅有更好。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
浅析golang 正则表达式

基于xpath选择器、PyQuery、正则表达式的格式清理工具详解

javascript正则表达式 限1-2位整数,或者至多含有两位小数的写法

正则表达式中的 .*? 或 .*+ 的意思

javascript正则表达式标记中/g /i /m的用法,以及实例