jquery中的电话号码验证

时间:2012-07-02 10:08:28

标签: javascript jquery validation phone-number

我使用以下功能验证电话号码文本框。它工作正常。此功能仅允许输入数字,但如果我输入文本框,条目将显示为 1111111 。但我需要条目看起来像 111-111-1111 111111

我该怎么做?

$('input[id*=Phone]').live('keypress',function(evt){
    var phValidateid=$(this).attr("id");
    if (event.keyCode > 47 && event.keyCode < 58) {
        return true;
    }
    return false;
});

2 个答案:

答案 0 :(得分:4)

你可以尝试这样的事情:

$('input').on('keyup',function(evt){
    var len = this.value.length;
    if (len == 3 || len == 7 || len == 11) {
       $(this).val(this.value + "-");
    }

    else if (len == 15) {
      $(this).val(this.value + " ");  
    }           
});

http://jsfiddle.net/Ys79C/2/

答案 1 :(得分:0)

尝试

return String.fromCharCode(event.keyCode).search(/[\d\-]/) > -1; // true if number or dash; false otherwise

或者如果您想检查输入的孔值

$('input[id*=Phone]').live('keypress',function(evt){
    return $(this).val().search(/^\d{3}\-\d{3}\-\d{4} \d{6}$/) > -1;
});