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 に答える