在AngularJS中,我需要格式化電話號碼,而他們正在鍵入。 我不想使用任何庫,因爲這應該是直接的。Regex電話號碼實時格式化
我需要的格式是:99 99 99 99 99
var phone = tel.replace(/\D*(\d{2})\D*(\d{2})\D*(\d{2})\D*(\d{2})\D*(\d{2})\D*/, '$1 $2 $3 $4 $5');
不過這只是我的格式數量,一旦它已經完全打出來。當數字尚未完成時,如何讓這個正則表達式工作?
然後我嘗試這樣做:
var phone = tel.replace(/\D*(\d{2})\D*(\d{0,2})?\D*(\d{0,2})?\D*(\d{0,2})?\D*(\d{0,2})?\D*/, '$1 $2 $3 $4 $5');
但是,這顯然是添加非所需的空間。
那麼這是一個嚴格的正則表達式問題。一旦所有組都被識別,表達式就會匹配。角部分是好的。 – curuba
只需在每次更改時運行正則表達式。爲此,使用onchange或keyup-listener。 – mercredo
您可以節省一些頭痛,並在第二步中刪除「不需要的空間」,將其包裝在過濾器中。 – AJcodez