首页 > 技术文章 > 正则表达式整理

icecream-lling 2019-09-30 14:20 原文

手机号码:

/^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- .\/?%&=]*)?/

推荐阅读