无法为输入字段设置掩码

时间:2013-12-19 21:38:21

标签: javascript html

我有这个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

1 个答案:

答案 0 :(得分: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);
});