gpt4 book ai didi

javascript - 在 JavaScript 中向电话号码添加破折号的正则表达式

转载 作者:行者123 更新时间:2023-11-28 07:27:51 24 4
gpt4 key购买 nike

function convertToValidPhoneNumber(text) {  
var result = [];
text = text.replace(/^\d{2}-?\d{3}-?\d{3}-?\d{3}$/, "");
while (text.length >= 6){
result.push(text.substring(0, 3));
text = text.substring(3);
}
if (text.length > 0) result.push(text);
return result.join("-");
}

我针对 35200123456785 输入字符串测试此函数。

它给了我一个类似352-001-234-56785的数字,但我想要35200-12345678-5

我需要做什么来解决这个问题?

最佳答案

您可以使用此更新后的函数,该函数使用 ^(?=[0-9]{11})([0-9]{5})([0-9]{8})([0 -9])$ regex:

  • ^ - 字符串开始
  • (?=[0-9]{11}) - 确保电话号码包含 11 位数字
  • ([0-9]{5}) - 第一组捕获 5 位数字
  • ([0-9]{8}) - 第二组捕获 8 位数字
  • ([0-9]) - 第三组捕获 1 位数字
  • $ - 字符串结束

替换字符串 - "$1-$2-$3" - 通过数字对正则表达式中的那些捕获组使用反向引用,并在需要的位置添加连字符。

如果输入字符串中有连字符,您应该先将其删除。

function convertToValidPhoneNumber(text) {  
return text = text.replace(/-/g,"").replace(/^(?=[0-9]{11})([0-9]{5})([0-9]{8})([0-9])$/, "$1-$2-$3");
}
document.getElementById("res").innerHTML = convertToValidPhoneNumber("35200123456785") + " and " + convertToValidPhoneNumber("35-200-123-456-785");
<div id="res"/>

关于javascript - 在 JavaScript 中向电话号码添加破折号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29443474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com