2013-03-12 31 views
7

即時通訊使用jQuery的蒙面輸入插件,需要有手機領域,格式如下:jQuery的蒙面輸入只有第一個號碼可選休息強制性

1 (222) - 000 - 1114 

我的代碼看起來是這樣的:

$("#myPhone").mask("9 (999) - 999 - 9999"); 

現在我似乎無法讓它工作,使第一個數字可選,但其餘的強制性。所以,下面的數字是有效

1 (222) - 000 - 1114 
    (222) - 000 - 1114 

及以下的數字無效

1 (222) - 000 - 11 
    (222) - 00 - 0011 

使用「9(999) - 999- 9999?」不會因爲它的工作使整個事情可選

如果這不能在蒙面上完成可以有人幫助我與正則表達式來實現這一目標嗎?

+0

我會先檢查是否有11位,之後使用口罩一個函數。 – 2013-03-12 20:09:52

回答

15

試試這個:

$.mask.definitions['~'] = '([0-9])?'; 
$("#myPhone").mask("~(999) - 999 - 9999"); 
+0

完美工作,非常感謝。雖然第一個數字不是嚴格的數字,但如果我在字母中輸入字母的類型 – GGio 2013-03-12 20:24:21

+1

仍然是第一個數字接受字母 – GGio 2013-03-12 20:30:20

+0

這不是一個好的解決方案。這可以解決問題,如果你開始在輸入上輸入。但是,如果您從數據庫中恢復數據(例如)並應用掩碼,則輸入爲空。 – MarceloBarbosa 2016-05-16 20:10:46

0

它不是完美的,但你可以使用數字或空白:

$.mask.definitions['~'] = '[0-9 ]'; 
$("#myPhone").mask("~(999) - 999 - 9999"); 
相關問題