// 1、 2-64位数字英文汉字下划线,只能以字母和汉字开头
let value = '_abcdef'
let nameStatus = new RegExp(/^(?!_)(?![0-9])[a-zA-Z0-9_\u4e00-\u9fa5]{2,64}$/)
let result = nameStatus.test(value)
console.log(result);
//2、验证手机号码
//移动:134(0 - 8) 、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
//联通:130、131、132、145、155、156、175、176、185、186、166
//电信:133、153、173、177、180、181、189、199
var move = /^((134)|(135)|(136)|(137)|(138)|(139)|(147)|(150)|(151)|(152)|(157)|(158)|(159)|(178)|(182)|(183)|(184)|(187)|(188)|(198))\d{8}$/g;
var link = /^((130)|(131)|(132)|(155)|(156)|(145)|(185)|(186)|(176)|(175)|(170)|(171)|(166))\d{8}$/g;
var telecom = /^((133)|(153)|(173)|(177)|(180)|(181)|(189)|(199))\d{8}$/g;
if (move.test(value)) {
return true;
} else if (link.test(value)) {
return true;
} else if (telecom.test(value)) {
return true;
} else {
return false;
}
//3、校验邮箱
let mailStatus = new RegExp(/[\w]+(\.[\w]+)*@[\w]+(\.[\w])+/);
let result = mailStatus.test(value)
//4、密码校验 8-18位的密码 必须含有字母 数字 和某些特殊字符
let passwordStatus = new RegExp(/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[@#!$~\%\=\<\>\-\$\(\)\*\+\?\^\{\}\[\]\|])[\S]{8,18}$/)
let result = passwordStatus.test(value)