2016-05-12 79 views
1

我有textbox用户只能插入numbers。于是,我试着用下面的链接不允许小数进入文本框不起作用

JS FIDDLE

但还是我能够插入[](十进制)在文本框中。下面是我试过

$(".allownumericwithoutdecimal").on("keypress keyup blur",function (event) {  
     $(this).val($(this).val().replace(/[^\d].+/, "")); 
     if ((event.which < 48 || event.which > 57)) { 
      event.preventDefault(); 
     } 

文本框

<igtxt:WebNumericEdit ID="txtNoofPages" Width="24%" runat="server" CssClass="allownumericwithoutdecimal"> 
      </igtxt:WebNumericEdit> 
+0

http://stackoverflow.com/questions/9204783/how-do-i-validate-a-decimal-field-with-jquery-and-regex – MusicLovingIndianGirl

+1

与键输入瞎搞不是用户友好的,如果该值看起来无效并且让用户自己修复,那么只显示屏幕提示会更好。嗅探键不会阻止无效值被粘贴,或者拖放到字段中,哦,'$(this).val()'是执行this.value的非常低效的方法。 – RobG

+0

@ MusicLovingIndianGirl:你给出的链接接受'.'小数。我不想要那个.. – BNN

回答

1

我想你,做工精细与Firefox,IE和Chrome浏览器JS提琴。然后我试着用jQuery与正常工作正常的相同的正则表达式。

$("#onlyNumber").on('keypress keyup blur', function(){ 
 
    $(this).val($(this).val().replace(/[^\d].+/, "")); 
 
     if ((event.which < 48 || event.which > 57)) { 
 
      event.preventDefault(); 
 
     } 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label>Number Only</label> 
 
<input type='textbox' id='onlyNumber'>

+0

这不可能是答案,而是一个确认OP代码正常工作的评论。 – niksofteng

+1

已尝试,但无法正常工作 – BNN

+0

请参见[WorksForMe](http://meta.stackexchange.com/questions/118992/are-works-for-me-answers-valid) –

相关问题