我想切片給定條件下的javascript變量。從反向的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);
我怎樣才能使長度檢查條件和切片根據我給定的條件?
我想切片給定條件下的javascript變量。從反向的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);
我怎樣才能使長度檢查條件和切片根據我給定的條件?
您可以簡單地使用.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:38:31
可以使中間片條件:
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);
如果您不提供第二個參數,它將切片到最後。雖然更大的瀏覽器兼容性我會使用substr代替:
var new_no = '(' + phone_no.substr(0,2) + ')-' +
phone_no.substr(2,midEnd) +
'-' + phone_no.substr(midEnd);
感謝它的真棒 – 2014-09-22 05:47:34
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);
這裏是我取的,我會用substr
var phone_no = '12345678901';
var midGroup = phone_no.length == 11 ? 5 : 6;
var new_no = "("+phone_no.substr(0,2)+")-"+phone_no.substr(2,midGroup)+"-"+phone_no.substr(midGroup + 2);
alert(new_no);
不錯的代碼,我明白了 – 2014-09-22 05:48:23
你的意思是你想刪除數組中的元素? – andrex 2014-09-22 05:25:23
不,我不會,如果長度是12,它將掩碼爲2,6,4,如果長度爲11,它將掩碼爲2,5,4 – 2014-09-22 05:26:34
你是說如果數字串的長度是12你想讓它成爲例子,如果'123456789011'將它轉換爲'12-345678-9011'這就是你想要實現的嗎? – andrex 2014-09-22 05:28:24