用户名必须是6-32位英文字母、数字、中文组合(不能是纯数字)两种及以上 正则判断

// 校验用户名
const validatorAccountName = (rule: any, value: any, callback: any) => {
  // 是否包含中文
  const regex1 = /^(?=.*[\u4e00-\u9fa5])[^]{6,32}$/;
  // 是否包含英文大小写
  const regex2 = /^(?=.*[a-zA-Z])[^]{6,32}$/;
  // 是否包含数字
  const regex3 = /^(?=.*[0-9])[^]{6,32}$/;
  // 包含两种及两种以上
  let flag =
    (regex1.test(value) && regex2.test(value)) ||
    (regex1.test(value) && regex3.test(value)) ||
    (regex2.test(value) && regex3.test(value));
  if (value === '') {
    callback(new Error('不能为空'));
  } else if (value && !flag) {
    callback(new Error('用户名格式错误'));
  } else {
    callback();
  }
};

你可能感兴趣的:(前端,javascript,开发语言)