正则表达式,用于在 JavaScript 中为电话号码添加短划线
Regular Expression to add dashes to a phone number in JavaScript
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])$
更新函数:
-
^
- 字符串开始 -
(?=[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"/>
number = this.state.number;
var expression = /('D+)/g;
var npa = "";
var nxx = "";
var last4 = "";
number = number.toString().replace(expression, "");
npa = number.substr(0, 3);
nxx = number.substr(3, 3);
last4 = number.substr(6, 4);
number = npa + "-" + nxx + "-" + last4
相关文章:
- 带有加号的电话号码验证(可选)
- 正则表达式,用于在 JavaScript 中为电话号码添加短划线
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- Javascript/Ajax:通过点击按钮检查有效的电子邮件和电话号码
- 如何将页面上的所有电话号码更改为可点击链接,不包括特定类别的元素
- 验证澳大利亚的电话号码
- 使用javascript验证电话号码无效
- Regex表示8位电话号码(新加坡号码长度)
- HTML文本框,它接受电话号码,并以美国电话号码格式显示
- 试图清理一个电话号码,以便如果它像816-345-6757一样被输入,它会像8163456757一样返回它
- 输入中的国际电话号码格式
- 什么是英国电话号码验证表达式和语法
- 使用 AngularJs 格式化电话号码
- 如何使移动用户可点击动态电话号码
- 如何通过Phonegap使用iOS格式查找联系人的电话号码
- Twilio:以编程方式添加/更改电话号码
- 如何将电话号码和电子邮件验证添加到Kendo-UI Grid
- 拆分和添加电话号码之间的空间
- 如何解决这个计算脚本的价格,电话号码,2位数字,并为成本添加文本字段
- 如何将数据库中的电话号码添加到 标签