Phone mask with jQuery and Masked Input Plugin

前端 未结 15 1446
夕颜
夕颜 2020-11-28 06:54

I have a problem masking a phone input with jQuery and Masked Input Plugin.

There are 2 possible formats:

  1. (XX)XXXX-XXXX
  2. (
15条回答
  •  -上瘾入骨i
    2020-11-28 07:38

    With jquery.mask.js

    http://jsfiddle.net/brynner/f9kd0aes/

    HTML

    
    
    

    JS

    // Function
    function phoneMask(e){
        var s=e.val();
        var s=s.replace(/[_\W]+/g,'');
        var n=s.length;
        if(n<11){var m='(00) 0000-00000';}else{var m='(00) 00000-00000';}
        $(e).mask(m);
    }
    
    // Type
    $('body').on('keyup','.phone',function(){   
        phoneMask($(this));
    });
    
    // On load
    $('.phone').keyup();
    

    Only jQuery

    http://jsfiddle.net/brynner/6vbrqe6z/

    HTML

    85999998888

    8599998888

    jQuery

    $('.phone').text(function(i, text) {
        var n = (text.length)-6;
        if(n==4){var p=n;}else{var p=5;}
        var regex = new RegExp('(\\d{2})(\\d{'+p+'})(\\d{4})');
        var text = text.replace(regex, "($1) $2-$3");
        return text;
    });
    

提交回复
热议问题