Click here to Skip to main content
15,887,135 members
Articles / Web Development / HTML
Tip/Trick

JQuery Integer (Numeric) Input (TextBox) Mask

Rate me:
Please Sign up or sign in to vote.
4.21/5 (5 votes)
14 Jul 2015CPOL 12.2K   101   5   2
How to change the html input to an integer (numeric) input (textbox) mask.

Introduction

With using JQuery (2.1.4), I changed (enforecd) html input to an integer (numeric) input (textbox) mask.

Sample Application

This sample application was developed by using Microsoft Visual Studio 2013

Download JQUERY_INTEGER_TEXTBOX_VERSION_1_0_0-noexe.zip

What Characters This Input Mask Accept?

With this JQuery code, you can use below characters in your textbox:

  • All of numbers in your keyboard (even numlock numbers)
  • TAB
  • SHIFT + TAB
  • LEFT ARROW KEY
  • SHIFT + LEFT ARROW KEY
  • RIGHT ARROW KEY
  • SHIFT + RIGHT ARROW KEY
  • DELETE
  • BACKSPACE
  • SHIFT + INS
  • CTRL + INS
  • CTRL + C
  • CTRL + V

Note that you should use the "integer" css class for each of your input htmls that you want to behave such as an integer (numeric) input mask. for example:

HTML
<input type="text" class="integer" />

Using the code

JavaScript
$(document).ready(function () {

    $("input.integer").keydown(function (e) {

        if (e.ctrlKey) {

            // CTRL + INS
            if (!((e.keyCode == 45) ||
                // CTRL + C
                (e.keyCode == 67) ||
                // CTRL + V
                (e.keyCode == 86))) {

                e.preventDefault();

            }

        }
        else {

            if (e.shiftKey) {

                // SHIFT + TAB
                if (!((e.keyCode == 9) ||
                    // SHIFT + LEFT ARROW KEY
                    (e.keyCode == 37) ||
                    // SHIFT + RIGHT ARROW KEY
                    (e.keyCode == 39) ||
                    // SHIFT + INS
                    (e.keyCode == 45))) {

                    e.preventDefault();

                }

            }
            else {

                // BACKSPACE
                if (!((e.keyCode == 8) ||
                    // TAB
                    (e.keyCode == 9) ||
                    // LEFT ARROW KEY
                    (e.keyCode == 37) ||
                    // RIGHT ARROW KEY
                    (e.keyCode == 39) ||
                    // DELETE
                    (e.keyCode == 46) ||
                    // NUMBER KEYS
                    ((e.keyCode >= 48) && (e.keyCode <= 57)) ||
                    // NUMLOCK KEYS
                    ((e.keyCode >= 96) && (e.keyCode <= 105)))) {

                    e.preventDefault();

                }

            }

        }

    });

});

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer Sematec Ins.
Iran (Islamic Republic of) Iran (Islamic Republic of)
My experiences are:

HTML 5.0, CSS 3.0
JQuery, Angular JS, Bootstrap

MVC 5.0, WEB API, c#

My Site URLs:
http://www.IranianExperts.ir
http://www.IranianExperts.com

My Yahoo Group URL: http://groups.yahoo.com/group/iranianexperts

Mobile: 0098-912-108-7461
Address: Tehran, Tehran, Iran

Comments and Discussions

 
QuestionNice, but wrap it into a jquery plugin Pin
lespauled15-Jul-15 8:47
lespauled15-Jul-15 8:47 
AnswerRe: Nice, but wrap it into a jquery plugin Pin
Dariush Tasdighi16-Jul-15 8:54
Dariush Tasdighi16-Jul-15 8:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.