js正则将手机号码+8613412030096 替换成+86134****0096,13412030096替换成134****0096
时间: 2024-06-24 13:02:06 浏览: 131
在JavaScript中,你可以使用正则表达式和字符串的replace()方法来实现这个替换。这里是一个简单的例子:
```javascript
let phoneNumber = "+8613412030096";
let regex = /(\+\d{2,3}\d{7,8})/; // 匹配手机号码格式
let replacement = "$1****0096"; // 将中间四位替换为星号
let replacedPhoneNumber = phoneNumber.replace(regex, replacement);
console.log(replacedPhoneNumber); // 输出: "+86134****0096"
```
上述代码首先定义了一个正则表达式 `regex`,它匹配从 "+" 开始,紧接着是两到三位的国际区号(如 "+86"),然后是七到八位的数字。`$1` 是正则中的捕获组,代表匹配到的第一部分,即整个手机号码。
然后我们使用 `replace()` 方法,将匹配到的部分用 `replacement`(替换为星号的部分)替换。
如果你想同时处理 "+8613412030096" 和 "13412030096" 这两种情况,你需要分开处理,因为后者不包含 "+":
```javascript
let phone1 = "+8613412030096";
let phone2 = "13412030096";
let replacedPhone1 = phone1.replace(/\+\d{2,3}\d{7,8}/, "$1****0096");
let replacedPhone2 = phone2.replace(/\d{7,8}/, "****0096");
console.log(replacedPhone1); // 输出: "+86134****0096"
console.log(replacedPhone2); // 输出: "134****0096"
```