编写一条正则,用来验证此规则

/*
  1、(?=pattern) => 正向预查:要求做匹配的时候,必须满足 pattern 这个条件
  2、(?!pattern) => 负向预查:要求做匹配的时候,必须不满足 pattern 这个条件
  3、注意:括号里面的内容只是条件,并不参与真正的捕获。
*/
一:
  一个6~16位的字符串,必须同时包含有大小写字母和数字
  let reg = /(?!^[a-zA-Z]+$)(?!^[0-9]+$)(?!^[a-z0-9]+$)(?!^[A-Z0-9]+$)^[a-zA-Z0-9]{6,16}$/;
二:
  1-10位:数字、字母、下划线组成的字符串,必须有 '_'
  let reg = /(?!^[a-zA-Z0-9]+$)^w{1,10}$/;
三:
  字符串 “w” 中必须包含 “_”
  let reg =  /(?=_)w+/;
原文地址:https://www.cnblogs.com/HYTing/p/12616533.html