常用校验规则积累

169 阅读1分钟

1.校验是否有脚本语言<>

var pattern = /<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>/g;
let isHtml = [] = event.target.value.match(pattern);
if(isHtml && isHtml.length ){
    return  error;
}
2.名称不能包含【\\\\/:*?\"<>|】这些非法字符

var regs = new RegExp('[\\\\/:*?\"<>:【】[]|]');
if (regs.test(control.value)) {
      console.log(regs.test(control.value));
      // this.msg.error('名称不能包含【\\\\/:*?\"<>|】这些非法字符,请修改重命名!');
      return { confirm: true, error: true };
    }
3.手机号

(mobile phone)中国(严谨), 根据工信部2019年最新公布的手机号段
if (!(/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1|8|9]))\d{8}$/.test(control.value))) {
      return { confirm: true, error: true };
    } 
(mobile phone)中国(宽松), 只要是13,14,15,16,17,18,19开头即可
/^(?:(?:\+|00)86)?1[3-9]\d{9}$/
4.英文字母

if (!(/^[a-zA-Z]+$/.test(control.value))) { 
      return { confirm: true, error: true };
    }
5.以0开头

/^[0][0-9]*$/
6.必须带端口号的网址(或ip)

/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/
7.网址(url,支持端口和"?+参数"和"#+参数)

/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/
8.统一社会信用代码

/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
9.大于等于0, 小于等于150, 支持小数位出现5, 如145.5, 用于判断考卷分数

/^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:.5)?$/
10.中文姓名

/^(?:[\u4e00-\u9fa5·]{2,16})$/
11.英文姓名

/(^[a-zA-Z]{1}[a-zA-Z\s]{0,20}[a-zA-Z]{1}$)/
12.email(邮箱)

/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
13.座机(tel phone)电话(国内),如: 0341-86091234

/^\d{3}-\d{8}$|^\d{4}-\d{7,8}$/
14.身份证号(1代,15位数字)

/^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/
15.身份证号(2代,18位数字),最后一位是校验位,可能为数字或字符X

/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/
16.身份证号, 支持1/2代(15位/18位数字)

/(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/
17.帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合

/^[a-zA-Z]\w{4,15}$/
18.qq号格式正确

/^[1-9][0-9]{4,10}$/
19.数字和字母组成

/^[A-Za-z0-9]+$/
20.密码强度校验,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

/^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/
21.用户名校验,4到16位(字母,数字,下划线,减号)

/^[a-zA-Z0-9_-]{4,16}$/