Search code examples
javascriptjqueryinput-mask

Jquery Input Mask (Redefine numeric "9")


I'm using RobinHerbots jquery input mask.
How to redefine the "9", so the mask will show XXXX91 instead of XXXXX1?

EDIT: if possible I would like to make last two digits uneditable

var autoPopulateNo = 91  //how to show the mask like this XXXX91

$("#number").inputmask({
"mask": "9999" + autoPopulateNo,
clearMaskOnLostFocus: false,
placeholder:"X",

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script>
<form action="">  
  <div>
    <label for="number">Mask</label>
    <input id="number" type="text"/>
  </div>
</form>


Solution

  • You can use "escapeChar"

    Definition of the symbols used to escape a part in the mask.

    escapeChar: "\\"

    var autoPopulateNo = "\\91"  //how to show the mask like this XXXX91
    
    $("#number").inputmask({
    "mask": "9999" + autoPopulateNo,
    clearMaskOnLostFocus: false,
    placeholder:"X",
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script>
    <form action="">  
      <div>
        <label for="number">Mask</label>
        <input id="number" type="text"/>
      </div>
    </form>