const regExp = /^[0-9A-Za-z]{6,12}$/
(?=.*[0-9])const regExp = /(?=.*[0-9])^[0-9A-Za-z]{6,12}$/
对于 (?=.*[0-9])^ 拆分就是:(?=.*[0-9]) 和 ^。
表示开头前面还有个位置,(?=.*[0-9]) 表示该位置后面的字符匹配 .*[0-9],即有任何多个任意字符,后面再跟个数字。
(?=.*[0-9])(?=.*[a-z])const regExp = /(?=.*[0-9])(?=.*[a-z])^[0-9A-Za-z]{6,12}$/
以上的 4 种情况是或的关系(实际上,可以不用第 4 条)
const regExp = /((?=.*[0-9])(?=.*[a-z])|(?=.*[0-9])(?=.*[A-Z])|(?=.*[a-z])(?=.*[A-Z]))^[0-9A-Za-z]{6,12}$/
regExp.test('1234567')
// false 全是数字
regExp.test('abcdef')
// false 全是小写字母
regExp.test('ABCDEFGH')
// false 全是大写字母
regExp.test('ab23C')
// false 不足6位
regExp.test('ABCDEF234')
// true 大写字母和数字
regExp.test('abcdEF234')
// true 三者都有