javascriptimaskjs

How to use input mask in Javascript for username & Mac ID


I want to filter username & Mac id from one input field... if the string starts with '00' then put a colon after every two integers & characters & if it starts with alphabets did not put a colon after two characters...

var dynamicMask = new IMask(document.getElementById('user'), {
  mask: [{
      mask: '00:00:00:00:00:00'
    },
    {
      mask: /^\S*@?\S*$/
    }
  ]
})
<script src="https://unpkg.com/imask"></script>
<div class="form-group">
  <label>Username or Mac id</label>
  <input type="text" class="form-control" name="user" id="user" placeholder="Enter ..." />
</div>


Solution

  • You can use combination of 0 and * to mask both numbers and letters

    var dynamicMask = new IMask(document.getElementById('user'), {
        mask: [{
          mask: '0*:**:**:**:**:**'
        },
        {
          mask: /^\S*@?\S*$/
        }
      ]
    })
    <script src="https://unpkg.com/imask"></script>
    <div class="form-group">
      <label>Username or Mac id</label>
      <input type="text" class="form-control" name="user" id="user" placeholder="Enter ..." />
    </div>