js中常用的正则
1、密码最少8位,需至少包含大写字母、小写字母、数字、符号中的任意两类,原文链接:https://blog.csdn.net/qq_41554330/article/details/107485596 rules是结合iview用的验证。
function passwordValidate(rules, str, callback) {
const rC = {
lW: "[a-z]", // 小写字母
uW: "[A-Z]", // 大写字母
nW: "[0-9]", // 汉字
sW: "[\\u0020-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]", // 特殊字符
};
function Reg(val, rStr) {
console.log(val, rStr, 24);
const reg = new RegExp(rStr);
if (reg.test(val)) {
return true;
} else {
console.log(29);
return false;
}
}
if (str.length < 8) {
callback(new Error("请至少输入8位及以上密码"));
return false;
} else {
const tR = {
l: Reg(str, rC.lW),
u: Reg(str, rC.uW),
n: Reg(str, rC.nW),
s: Reg(str, rC.sW),
};
if (
(tR.l && tR.u && tR.n) ||
(tR.l && tR.u && tR.s) ||
(tR.s && tR.u && tR.n) ||
(tR.s && tR.l && tR.n)
) {
callback();
} else {
callback(new Error(
"您的密码必须含有“小写字母”、“大写字母”、“数字”、“特殊符号”中的任意三种"
));
return false;
}
}
}
2、只能输入中文或者限定的标点符号
function adminNicknameVal(rule: any, val: any, callback: any) {
const reg = /[^\u4e00-\u9fa5,\.\'\?!:;]/g;
if (reg.test(val)) {
callback(new Error("允许输入中文或限定的表单符号"));
}
if (val.length>10) {
callback(new Error("最多可输入10个字"));
} else {
callback();
}
}
3、只能输入汉字或字母
/^[A-Za-z0-9\u4e00-\u9fa5]+$/