2013-12-19 100 views
1

我有這樣的HTML代碼:無法設置掩碼輸入字段

<input 
    type="text" 
    placeholder="0000 - 0000 - 0000" 
    onkeyup=" 
     var v = this.value; 
     if (v.match(/^\d{4}$/) !== null) { 
      this.value = v + ' - '; 
     } else if (v.match(/^\d{4}\/\d{4}$/) !== null) { 
      this.value = v + ' - '; 
     }" 
> 

輸入如下:enter image description here。當我輸入數字463985637851時,我輸入的文字應該是「4639 - 8563 - 7851」。

順便說一句,我沒有得到數字之間的分隔。這裏有什麼問題?

fiddle

回答

2

Fiddle

給輸入字段的ID:

HTML:

<input type="text" placeholder="0000 - 0000 - 0000" id="mynum" /> 

JS:

$('#mynum').keyup(function() { 
    var v= $(this).val().split("-").join(""); 
    if (v.length > 0) { 
     v= v.match(new RegExp('.{1,4}', 'g')).join("-"); 
    } 
    $(this).val(v); 
}); 
+0

使用'MAXLENGTH = 「14」' - 1 2個數字和2個連字符。然後,使用正則表達式來驗證它。 – Ani