正则表达式整理
手机号码:
/^1[34578]\d$/
密码:
手机号码中间四位星号代替:
str.replace(/^(\d{3})\d+(\d{4})$/, '$1 **** $2')
邮箱地址:
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
身份证号码:
/(^\d$)|(^\d$)|(^\d(\d|X|x)$)/
营业执照注册号: 15位/18位
/(^(?:(?![IOZSV])[\dA-Z])\d(?:(?![IOZSV])[\dA-Z])$)|(^\d$)/
/(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/
真实姓名 -汉语:
/^[\u4E00-\u9FA5]$/
9位正整数:
/^[1-9]\d$/
固定电话:
/^(\(\d\)|\d-|\s)?\d$/
组织机构代码:
/^\d-\d$/
纳税人识别号:
/^[0-9A-Z]$/
银行账号: 16/17/19位
/^([1-9])(\d|\d|\d)$/
开户银行支行联行号: 12位
/^([1-9])(\d)$/
银行卡号(前后各显示四位数字,中间不管多少位都显示8位,四位一空格):
const s = '111122223333444555';
const r = /^(\d{4})\d+(\d{4})$/;
const str = s.replace(r, '$1 **** **** $2');
银行卡(位数不确定,并且显示实际全部位数,显示后四位数字,其他星号代替,四位一个空格)
const s = '111177772209822';
const lastFour = s.slice(-4);
let newArr= new Array(s.length-3).join('*') + lastFour ;
newArr = newArr.replace(/\s/g, '').replace(/(.{4})/g, '$1')
网址:
/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/