项目要求:

密码规则:6-16位字符,同时包括数字、大小写字母和特殊字符四种组合;
特殊字符需在“~@#$%*_-+=:,.?[]{}”范围内选择。

具体代码如下:

var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~@#$%\*-\+=:,\\?\[\]\{}]).{6,16}$/;
var str = "111saDAA1@";
console.log(reg.test(str));

需要注意:特殊符号中* + 等是需要转译的。具体参考如下

特殊字符 转译说明
^ 匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 \^ 。
$ 匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 \$ 。
. 匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,请使用 \. 。
[] 用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 \[ 和 \] 。
* 修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 \* 。
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。
? 修饰匹配次数为 0 次或 1 。要匹配 "?" 字符本身,请使用 \? 。
+ 修饰匹配次数为至少 1。要匹配 "+" 字符本身,请使用 \+ 。
{} 修饰匹配次数的符号。要匹配大括号,请使用 \{ 和 \} 。
| 左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 \| 。
() 标记一个子表达式的开始和结束位置。要匹配小括号,请使用 \( 和 \) 。

 

相关文章:

  • 2021-11-03
  • 2021-06-20
  • 2021-06-25
  • 2023-01-31
  • 2022-12-23
  • 2022-02-07
猜你喜欢
  • 2021-09-10
  • 2022-12-23
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案