电话号码切片和掩码
Phone Number slice and mask
这是来自反向的Question Javascript切片的连续性
因为我是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/
您只需要在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>";
}
相关文章:
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 从右到左输入掩码
- 如何在引导程序元素的顶部添加掩码
- 在筛选网格期间,网格负载掩码不起作用
- 将形状/掩码动态添加到内联svg中
- 输入文本的掩码
- 在javascript中动态修改掩码高度
- 在sencha touch中列出掩码
- 如何使用angularjs在剑道网格过滤器文本框中应用电话号码掩码
- jQuery:在验证错误之后,我的输入掩码函数不会'Don’不要在野外工作
- 网格负载掩码获胜'使用PagingMemoryProxy时不会消失
- 带有jQuery和屏蔽输入插件的手机掩码
- 当SVG是单独的文件时,剪辑路径/web工具包掩码有效,但在内联时无效
- AngularJS ui掩码为货币添加最大值和最小值
- 为什么jQuery掩码说它'It’这不是函数
- vTiger和jQuery手机掩码
- Extjs 4.2.1-网格掩码获胜'不要藏起来
- 如何检测-webkit掩码框图像何时已下载
- SVG掩码总是使元素不可见
- 电话号码切片和掩码