这是问题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');
答案 0 :(得分:1)
使用它更短更整齐的结果
<强> **编辑** 强>
我更新了符合您需求的逻辑
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>
答案 1 :(得分:0)
您只需要在for循环中插入代码即可。如果只有在数字有效时才需要添加到列表中,还需要更多的工作。
var phones = labels.phones;
phone_nums = phones.split(",");
for(var l=0; l<phone_nums.length; l++)
{
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');
if(phone_no.length === 11 || phone_no.length === 12)
list +="<li>"+ new_no+"<a class='removno' >x</a><input type=\"hidden\" name=\"phoneno[]\" value=\""+phone_nums[l]+"\" /></li>";
}