gpt4 book ai didi

javascript - 电话号码切片和掩码

转载 作者:行者123 更新时间:2023-12-03 11:47:54 27 4
gpt4 key购买 nike

这是问题Javascript slice from reverse的连续性

因为我是 JavaScript 新手。我无法在适当的地方给出条件。请帮忙解决这个问题。

如果变量new_no

var phones = labels.phones;
phone_nums = phones.split(",");

for(var l=0; l<phone_nums.length; l++)
{
var new_no = "("+phone_nums[l].slice(0,2)+")-"+phone_nums[l].slice(2,6)+"-"+phone_nums[l].slice(6,11);
list +="<li>"+ new_no+"<a class='removno' >x</a><input type=\"hidden\" name=\"phoneno[]\" value=\""+phone_nums[l]+"\" /></li>";
}

如何在此处插入以下条件:

if(phone_no.length === 11)
var new_no = "("+phone_no.slice(0,2)+")-"+phone_no.slice(2,7)+"-"+phone_no.slice(7,11);
else if(phone_no.length === 12)
var new_no = "("+phone_no.slice(0,2)+")-"+phone_no.slice(2,8)+"-"+phone_no.slice(8,12);
else
alert('Invalid Number');

最佳答案

使用这个它会更短、更整洁,结果相同

**编辑**

我更新了逻辑以满足您的需求

var new_no = "";

var phones = labels.phones;
phone_nums = phones.split(",");
var list = "";
for(p_index in phone_nums){
var phone_no = phone_nums[p_index];
var pLength = phone_no.length;

if(pLength == 11 || pLength == 12){
var midGroup = pLength == 11 ? 5 : 6;

new_no = "("+phone_no.substr(0,2)+")-"+phone_no.substr(2,midGroup)+"-"+phone_no.substr(midGroup + 2);
list +="<li>"+ new_no+"<a class='removno' >x</a><input type=\"hidden\" name=\"phoneno[]\" value=\""+phone_no+"\" /></li>";
} else {
console.log('Invalid Number :: ' + phone_no);
}
}

假设labels.phones包含'123456789011,110987654321'这将输出如下

<li>(12)-345678-9011<a class='removno' >x</a><input type="hidden" name="phoneno[]" value="123456789011" /></li>
<li>(11)-098765-4321<a class='removno' >x</a><input type="hidden" name="phoneno[]" value="110987654321" /></li>

这是一个演示http://jsfiddle.net/cdahh64c/

关于javascript - 电话号码切片和掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968279/

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