js用一个正则表达式同时处理 “+8613412030096” 和 “13412030096”成+86134****0096,134****0096
时间: 2024-06-24 11:02:06 浏览: 121
在JavaScript中,你可以使用正则表达式和字符串的replace方法来处理这种格式。以下是一个简单的例子,展示如何将手机号码的前缀“+86”替换为“+86134****”,保留中间的四位数字,并替换末尾的四位数字为星号(*):
```javascript
function formatPhoneNumber(phoneNumber) {
// 正则表达式匹配 "+86" 或者 "134"
var regex = /^(\+\d{1,2})?134\d{7}$/;
// 使用正则表达式查找匹配的部分
var match = phoneNumber.match(regex);
if (match) {
// 如果找到匹配,替换为新的格式
var prefix = match ? "+86134" : "134";
var fourDigits = "****";
var formattedNumber = prefix + fourDigits.slice(0, 4) + match.slice(4);
return formattedNumber;
} else {
// 如果号码格式不正确,直接返回原样
console.error("Invalid phone number format.");
return phoneNumber;
}
}
// 测试
console.log(formatPhoneNumber("+8613412030096")); // 输出: +86134****0096
console.log(formatPhoneNumber("13412030096")); // 输出: 134****0096
```