0

我使用以下函数来验证电话号码文本框。它工作正常。此功能只允许输入数字,但如果我输入文本框,条目看起来像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;
});
4

2 回答 2

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/

于 2012-07-02T10:24:41.047 回答
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;
});
于 2012-07-02T10:27:36.833 回答