2016-07-26 18 views
2

と携帯電話番号の検証私はタイプのテキストボックスを持っているのJavaScript:数字と最大長

以下のように私は要件を持っているJSを持ってしようとしていると私はそのテキストボックス内で入力された時はいつでも必要がありますONLY ALLOW numbers [0-9]そしてそれはNOT ALLOW 8桁以上の数字の長さを入力してください。

例:

12345678 - Allow 
1234 - Dont Allow 
1234%^ - Dont Allow 

マイHTML:

<input type="number" id="txt_number" maxlength="8" onkeypress="return isNumber(event)"> 

私のJS

function isNumber(evt) { 
evt = (evt) ? evt : window.event; 
var charCode = (evt.which) ? evt.which : evt.keyCode; 
if (charCode > 31 && (charCode < 48 || charCode > 57 ||charCode>=190)) { 
    return false; 
} 
return true; 
} 

私を助けてください。

ありがとうございます。 おかげ

+1

何がうまくいかない? –

+1

入力タイプ番号がありますので、機能チェックは必要ありません。 – Jai

+0

個人的に私は自分のコードでこの解決策を使用しています:http://stackoverflow.com/a/29902316/4949388 –

答えて

0

使用正規表現の一致:

function checkMonum(){ 
var input=document.getElementById('txt_number').value; 
    var state=false; 
    var re=/^[\d\.]{8}$/; 
var output = re.test(input); 
if(output==true){ 
    state=true; 
} 
return state; 
} 

私がテストしてメソッドの一致を変更するには、FFで確認することができます。私は携帯電話でクロムにいる。正確に8桁または持っている期間で

+0

この関数を呼び出す方法は?

+0

はい。あなたは – kollein

+0

こんにちはコールレン、私はそれが数字だけを許可して参照してください参照してください見ることができます。しかしそれは可能です。 (ドット小数)同様に。しかし、私はユーザーが8桁の長さの上に任意の数字を入力する必要はありません。私はちょうど8桁を持つことを許可したいです。 8桁の長さを超える入力は切り捨てられます –

0

は、ユーザーが数値以外の入力すると、ユーザーがすることができません制限することができます。この機能でこの

function isNumber(evt) { 
evt = (evt) ? evt : window.event; 
var charCode = (evt.which) ? evt.which : evt.keyCode; 
if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
    return false; 
} 

return true; 

}

0
$(function() { 
    $(".numericOnly").bind('keypress', function (e) { 
     if (e.keyCode == '9' || e.keyCode == '16') { 
      return; 
     } 
     var code; 
     if (e.keyCode) code = e.keyCode; 
     else if (e.which) code = e.which; 
     if (e.which == 46) 
      return false; 
     if (code == 8 || code == 46) 
      return true; 
     if (code < 48 || code > 57) 
      return false; 
    } 
    ); 
    $(".numericOnly").bind("paste", function (e) { 
     $("#lblSearchError").text("Phone no must be numeric digit only !!!"); 
     $('#lblSearchError').show('slow').delay(3000).queue(function (n) { 
      $(this).hide('slow'); n(); 
     }); 
     e.preventDefault(); 
    }); 
    $(".numericOnly").bind('mouseenter', function (e) { 
     var val = $(this).val(); 
     if (val != '0') { 
      val = val.replace(/[^0-9]+/g, "") 
      $(this).val(val); 
     } 
    }); 
}); 

を試してみてください任意の非数値データを過ぎてください。これは私のために働く あなたはクラス名またはIDでそれを使用できます

+0

こんにちはNaveen、このjsを呼び出す方法と必要なhtml変更は何ですか?私は私の存在するjsを

+0

のように呼び出します。入力タイプコントロールに 'numericOnly' = "number" id = "txt_number" maxlength = "8" class = "numericOnly">これはあなたがしなければならない –