正则表达式解决身份证号码和手机号

首先最后是这样子的

手机号: 
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
身份证号:
return idcard.replace(/(\w{4})\w{10}(\w{4})/, '$1****$2')

比如说,

/(\d{3})\d{4}(\d{4})/
就是说因为手机号有11位,所以保持前3位后4位不动,中间4为替换为*

然后发现身份证号也按这个来写就被坑了,因为/d匹配的是数字,/w才是多匹配,下面放一些常用用法。
PS:下面看下正则表达式 \w \s \d \b

. 匹配除换行符以外的任意字符

\w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]'。

\s 匹配任意的空白符

\d 匹配数字

\b 匹配单词的开始或结束

^ 匹配字符串的开始

$ 匹配字符串的结束

\w能不能匹配汉字要视你的操作系统和你的应用环境而定

猜你喜欢

转载自www.cnblogs.com/daysn/p/10264115.html