首先最后是这样子的
手机号: 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 . 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]'。 s 匹配任意的空白符 d 匹配数字 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 w能不能匹配汉字要视你的操作系统和你的应用环境而定