2017-04-17 4 views
3

制限したいテキストボックスの最初の文字に「0」を入れないでください。制限する方法jqueryでテキストボックスの最初の文字に "0"を設定しないでください。どうすればいいですか?

<div class="form-group row" align="center"> 
    <label class="col-md-4 form-control-label"><span class="mandatory"></span> Payment</label> 
    <div class="col-md-8" > 
     <div class="input-group"> 
     <input type="text" name="pay" id= "pay" class="form-control input-md" max="100000"/> 
     </div> 
    </div> 
</div> 

var myLength = $("#pay").val().length;   
if($(this).val() === '0') 
{    
    $(this).val(''); 
} 

それは可能最初の数字の「0」が、複数の0年代を制限し、別のシナリオでは、私が00010前に0を入力した後、私は10に入る最初です。

私は0なしで始めたいです。

+0

が私の答えとフィドルリンク@Check –

答えて

1

それ文字列場合は、charAt機能によってそれを確認することができます:最初の場所として0を受け入れないように、入力ボックスの

var myLength = $("#pay").val(); 

     if(myLength.charAt(0) === '0') 
     {    
      $(this).val(''); 
     } 

もっと便利な方法。

チェックワーキングコード:JS Fiddle

+0

はそれがうまく働いてありがとう、あなたの問題を解決します:) – Durga

1

任意の数字で始まる番号と一致するようにではなく、ゼロ、この正規表現を使用します。

^[1-9][0-9]*$ 

例:

function validateInput(input) { 
    var regex = ^[1-9][0-9]*$; 
    return regex.test(input); // It will return true or false depends on the regex test 
} 

コールでこの機能をお使いの入力値。

2

keyupイベントを使用して、入力中に0を最初の位置に入力しないようにすることをお勧めします。ここで

デモです:

$('#pay').keyup(function(e){ 
 
     if($(this).val().match(/^0/)){ 
 
      $(this).val(''); 
 
      return false; 
 
     } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<input type="text" name="pay" id= "pay" class="form-control input-md" max="100000"/>

関連する問題