输入框 – 防止用户输入0作为第一个数字

我有2个输入框。 我希望用户不应该输入任何以0开头的数字。注意开头只有0。 它可以在结尾或中间,但不是在开头。

所以允许4,40,4440而不是04。

检查这个小提琴 ,我已经放了几个其他限制,只允许数值,长度为4.现在我想添加与0相关的限制。

如何使用jQuery完成?

HTML

.  

试试这个

DEMO

 $(document).ready(function() { //For numeric $(".major_rev").keydown(function(event) { // Allow only backspace and delete if ( event.keyCode == 46 || event.keyCode == 8) { // let it happen, don't do anything } else { // Ensure that it is a number and stop the keypress if ((event.keyCode !==9) && (event.keyCode < 48 || event.keyCode > 57 )) { event.preventDefault(); } else{ if($.trim($(this).val()) =='') { if(event.keyCode == 48){ event.preventDefault(); } } } } }); $(".minor_rev").keydown(function(event) { // Allow only backspace and delete if ( event.keyCode == 46 || event.keyCode == 8 ) { // let it happen, don't do anything if($.trim($(this).val()).length==0) { if(event.keyCode==48){ event.preventDefault(); } } } else { // Ensure that it is a number and stop the keypress if (event.keyCode < 48 || event.keyCode > 57 ) { event.preventDefault(); } else{ if($.trim($(this).val()) =='') { if(event.keyCode == 48){ event.preventDefault(); } } } } }); //For MaxLength $(".major_rev").prop("maxlength","4"); $(".minor_rev").prop("maxlength","4"); }); 

如何使用这个简单的检查:

 $(document).on('keyup','#testBox', function(event){ var input = event.currentTarget.value; if(input.search(/^0/) != -1){ alert("you have started with a 0"); } }); 

的jsfiddle

这有点晚了,但尝试这很容易和简单

 $(".major_rev").on("keyup", function () { if ($(this).val() == 0) { $(this).val(null); } }); 

我想我们正在寻找正则表达式..

 $("input").blur(function(){ var val = $(this).val(); if( val.indexOf("0") == 0 ) { $(this).val(""); $(this).attr("placeholder", "Invalid"); } }); 

Sangram和miklshake的回答帮助了我。 以下是组合解决方案。

 $(document).on('keyup','.major_rev', function(event){ var input = event.currentTarget.value; if(input.search(/^0/) != -1){ alert("you have started with a 0"); } }); $(document).ready(function() { //For numeric $(".major_rev").keydown(function(event) { // Allow only backspace and delete if ( event.keyCode == 46 || event.keyCode == 8) { // let it happen, don't do anything } else { // Ensure that it is a number and stop the keypress if ((event.keyCode !==9) && (event.keyCode < 48 || event.keyCode > 57 )) { event.preventDefault(); } else{ if($.trim($(this).val()) =='') { if(event.keyCode == 48){ event.preventDefault(); } } } } }); $(".minor_rev").keydown(function(event) { // Allow only backspace and delete if ( event.keyCode == 46 || event.keyCode == 8 ) { // let it happen, don't do anything if($.trim($(this).val()).length==0) { if(event.keyCode==48){ event.preventDefault(); } } } else { // Ensure that it is a number and stop the keypress if (event.keyCode < 48 || event.keyCode > 57 ) { event.preventDefault(); } else{ if($.trim($(this).val()) =='') { if(event.keyCode == 48){ event.preventDefault(); } } } } }); //For MaxLength $(".major_rev").prop("maxlength","4"); $(".minor_rev").prop("maxlength","4"); }); 

的jsfiddle