Skip to content Skip to sidebar Skip to footer

Input Box - Prevent User From Entering 0 As First Digit

I have 2 input boxes. I want that user should not be able to enter any digit which starts with 0. Note that only 0 at the beginning. It can be at the end or middle but not at the b

Solution 1:

Try this

DEMO

$(document).ready(function() {
    //For numeric
    $(".major_rev").keydown(function(event) {
        // Allow only backspace and deleteif ( event.keyCode == 46 || event.keyCode == 8) {
            // let it happen, don't do anything

        }
        else {
            // Ensure that it is a number and stop the keypressif ((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 deleteif ( event.keyCode == 46 || event.keyCode == 8 ) {
            // let it happen, don't do anythingif($.trim($(this).val()).length==0)
            {
                if(event.keyCode==48){
                event.preventDefault(); 
                }
            }
        }
        else {
            // Ensure that it is a number and stop the keypressif (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");
});

Solution 2:

how about using this simple check:

$(document).on('keyup','#testBox', function(event){

    var input = event.currentTarget.value;

    if(input.search(/^0/) != -1){
         alert("you have started with a 0");   
    }
});

jsFiddle

Solution 3:

It's kind of late but try this easy and simple

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

Solution 4:

I think we are looking at regular expressions here..

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

Solution 5:

Sangram and miklshake's answers helped me. Below is the combined solution.

$(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 deleteif ( event.keyCode == 46 || event.keyCode == 8) {
            // let it happen, don't do anything

        }
        else {
            // Ensure that it is a number and stop the keypressif ((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 deleteif ( event.keyCode == 46 || event.keyCode == 8 ) {
            // let it happen, don't do anythingif($.trim($(this).val()).length==0)
            {
                if(event.keyCode==48){
                event.preventDefault(); 
                }
            }
        }
        else {
            // Ensure that it is a number and stop the keypressif (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

Post a Comment for "Input Box - Prevent User From Entering 0 As First Digit"