在文本字段中键入时格式化文本

时间:2016-11-15 08:33:16

标签: javascript jquery html validation

我的政策编号格式应为“XX-YY-123456”。我正在开发一个格式化程序,当用户键入策略号或复制/粘贴它时,格式化程序应自动格式化为上述格式。需要帮助修改以下代码以满足我的要求。

$('.policynumber').bind("change keyup input",function() { 
    foo = $(this).val().split("-").join(""); // remove hyphens 
    foo = foo.match(new RegExp('.{1,3}', 'g')).join("-");
    $(this).val(foo);
});

如果我必须每隔3个字符加上破折号,上面的代码就可以了。

1 个答案:

答案 0 :(得分:1)

您需要根据格式更改Regex:

"1234567890".match(/\d{2}(?=\d{6})|\d+/g).join("-")

您需要更改以下代码:

  $('.policynumber').bind("change keyup input",function() { 
        foo = $(this).val().split("-").join(""); // remove hyphens 
        foo = foo.match(/\d{2}(?=\d{6})|\d+/g).join("-");
        $(this).val(foo);
    });