2013-05-22 107 views
3

我使用的是jquery.inputmask插件,最近遇到了一個問題。我們使用該插件爲每個國家/地區的不同電話號碼輸入字段格式,例如:Jquery掩碼中的輸入掩碼令牌

+1 (___) ___-____ [+1 (999) 999-9999] 

北美編號計劃。

+33 __-__-__-__ [+33 99-99-99-99] 

法國的編號計劃。

這些工作,但是當我們襲擊德國時會出現問題。

+4_ ___-___-___ [+49 999-999-999] 

9是輸入掩碼插件使用的數字。它錯誤地認爲我們想要添加到字段中的字面值+49是掩碼值的一部分。我們需要讓9出現在面具上,而不是被視爲令牌。有沒有辦法將數字掩碼指示符從9更改爲其他內容?

回答

2

嘗試逃脫9:

$(".german").inputmask('+4\\9 999-999-999');

DEMO

+0

這看起來不錯,我們將使用它並簡單地轉義任何9我們需要堅持作爲文字字符。 –

1

嘗試創建新的屏蔽定義:

$.extend($.inputmask.defaults.definitions, { 
    'n': { //masksymbol 
     "validator": "[0-9]", 
     "cardinality": 1 
    } 
} 

然後你的面具應該是這樣的:

[+4n nnn-nnn-nnn] 
+0

我試過這個,看起來很有希望,問題是,'9'掩碼仍然存在,所以任何9都仍然被解析,例如n9n-n9n仍然會產生___-___。 –