手机号、身份证、护照、军官证....的正则表达式
2022-04-21 本文已影响0人
Petricor
正则表达式是各个项目中最必不可少的,但是又因为不是很常用,所以经常忘记它的语法,但正则是固定的,所以,列举一下几个常用的正则表达式
手机号正则表达式:
let card = " "
var mobileReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
if (mobileReg .test(card) === false) {}
大陆身份证号正则表达式:
let card = " "
let idCardRes = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (idCardRes .test(card) === false) {}
港澳身份证正则表达式:
let card = " "
// 港澳居民来往内地通行证
// 规则: H/M + 10位或6位数字
// 样本: H1234567890
var reg = /^([A-Z]\d{6,10}(\(\w{1}\))?)$/;
if (reg.test(card) === false) {}
台湾身份证正则表达式:
let card = " "
// 台湾居民来往大陆通行证
// 规则: 新版8位或18位数字, 旧版10位数字 + 英文字母
// 样本: 12345678 或 1234567890B
var reg = /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/;
护照正则表达式:
let card = " "
// 规则: 14/15开头 + 7位数字, G + 8位数字, P + 7位数字, S/D + 7或8位数字,等
// 样本: 141234567, G12345678, P1234567
var reg = /^([a-zA-z]|[0-9]){5,17}$/;
军官证正则表达式:
let card = " "
// 规则: 军/兵/士/文/职/广/(其他中文) + "字第" + 4到8位字母或数字 + "号"
// 样本: 军字第2001988号, 士字第P011816X号
var reg = /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/;
户口本正则表达式:
let card = " "
// 规则: 15位数字, 18位数字, 17位数字 + X
// 样本: 441421999707223115
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
替换 以http://开头,以com结尾的字符串
let text = "http://10.100.74.177:8090/healthysalemanage/uploads/images/2022/04/26/231b517d06cf4cff95b7a113807c718f.png"
let url = "http://www.baidu.com/"
let text = text.replace(/http(.)*healthysalemanage\//g, url)
console.log(text)