我想在给定的条件下切片javascript变量。
条件是,如果变量的长度是12,它应该切成2,6,4,如果它的长度是11,它应该切成2,5,4。
,这是我尝试过的。
代码:
var new_no = "("+phone_no.slice(0,2)+")-"+phone_no.slice(2,7)+"-"+phone_no.slice(7,11);如何使长度检查条件和切片根据我的给定条件?
发布于 2014-09-22 05:31:24
您可以简单地使用.length来检查数字的长度,然后两个简单的条件就可以了:
var phone_no = "123456789878";
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');发布于 2014-09-22 05:33:05
您可以将中间片设置为条件:
var midEnd = phone_no.length == 11? 7 : 8;
var new_no = "("+phone_no.slice(0,2)+")-"+phone_no.slice(2,midEnd)+"-"+phone_no.slice(midEnd);如果不提供第二个参数,它将被分割到最后。尽管为了更好地兼容浏览器,我会使用http://ecma-international.org/ecma-262/5.1/#sec-15.5.4.15来代替:
var new_no = '(' + phone_no.substr(0,2) + ')-' +
phone_no.substr(2,midEnd) +
'-' + phone_no.substr(midEnd);发布于 2014-09-22 05:40:45
function preparePhoneNo(num) {
return '(' + num.slice(0, 2) + ')-' + num.slice(2, -4) + '-' + num.slice(-4);
}
var phone_no = "123465789012";
var new_no = preparePhoneNo(phone_no);https://stackoverflow.com/questions/25967129
复制相似问题