Javascript 无法为输入字段设置掩码

Javascript 无法为输入字段设置掩码,javascript,html,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}$/) !== n

我有以下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 + ' - ';
        }"
>

输入如下所示:。当我输入463985637851这样的数字时,输入的文本应该是“4639-8563-7851”

顺便说一下,我没有得到数字之间的分隔。这里怎么了

为输入字段指定一个id:

HTML:

使用
maxlength=“14”
-12个数字和2个连字符。然后,使用regex对其进行验证。
<input type="text" placeholder="0000 - 0000 - 0000" id="mynum" />
$('#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);
});