在自动完成电话号码中添加短划线

Ber*_*pio 8 jquery

题:

是否可以在自动完成时自动添加短划线" - "?

假设我有一个电话号码字段,如果有人在其中输入电话号码,则会显示浏览器自动完成.

防爆.

这是浏览器自动完成值1234567890

一旦他们选择了我想自动将其格式化为此

123-456-7890

因为有些网站在他们的手机字段中没有验证格式,您可以继续输入10位数字,一旦您在浏览器缓存中输入该数字,它也会显示在其他手机字段中.

提前致谢.

Sha*_*mad 24

$('#phone-number-field').keyup(function(){
    $(this).val($(this).val().replace(/(\d{3})\-?(\d{3})\-?(\d{4})/,'$1-$2-$3'))
});
Run Code Online (Sandbox Code Playgroud)


Dip*_*mar 6

你可以试试这个代码。

$(function () {

    $('#txtnumber').keydown(function (e) {
       var key = e.charCode || e.keyCode || 0;
       $text = $(this); 
       if (key !== 8 && key !== 9) {
           if ($text.val().length === 3) {
               $text.val($text.val() + '-');
           }
           if ($text.val().length === 7) {
               $text.val($text.val() + '-');
           }

       }

       return (key == 8 || key == 9 || key == 46 || (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
   })
});
Run Code Online (Sandbox Code Playgroud)

HTML 输入

<input id="txtnumber"   type="text" maxlength="12" placeholder="xxx-xxx-xxxx" />
Run Code Online (Sandbox Code Playgroud)

你也可以在jsfiddle中看到

https://jsfiddle.net/karthikjsf/38vdpj4f/