0
使用正則表達式的電話號碼格式化解決方案,我想包括用戶輸入擴展名的可能性。有條件的帶括號的子字符串替換
例如,如果用戶輸入類似+121255512341212
東西,它們的輸入端通過以下
然而,如果用戶輸入一個號碼沒有擴展格式化爲+1 (212) 555-1234 ext 1212
(例如+12125551234
),輸出仍包含ext
var reg = /(\+?\d{1})?\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})?\W*\s*(\d+)?/g;
var substr = '$1 ($2) $3-$4 ext $5';
'+121255512341212'.replace(reg, substr); // '+1 (212) 555-1234 ext 1212'
'+12125551234'.replace(reg, substr); // '+1 (212) 555-1234 ext'
中存在的問題....有沒有一種方法,我可以建立一個條件爲substr
使ext
只有當輸出具有$5
實際內容?
或者我正在做這個錯誤的方式......?
輝煌。謝謝@collapsar。 :) – sfletche