输入框 – 防止用户输入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