Faqts : Computers : Programming : Languages : JavaScript : Event handling

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

118 of 129 people (91%) answered Yes
Recently 9 of 10 people (90%) answered Yes

Entry

How can I mask the input in a text field?

Nov 29th, 2000 11:23
Martin Honnen,


Generally you can cancel keys in onkeydown or onkeypress by returning 
false. IE allows additionally to change the key so the following checks 
for and enforces the input format 
  (ddd) ddd-dddd
where d stands for a digit:
<HTML>
<HEAD>
<SCRIPT>
function checkKey (field) {
  switch (field.value.length) {
    case 0: 
      event.keyCode = '('.charCodeAt();
      return true;
      break;
    case 1:
    case 2:
    case 3:
      return /\d/.test(String.fromCharCode(event.keyCode));
      break;
    case 4:
      event.keyCode = ')'.charCodeAt();
      return true;
      break;
    case 5:
      event.keyCode = ' '.charCodeAt();
      return true;
      break;
    case 6:
    case 7:
    case 8:
      return /\d/.test(String.fromCharCode(event.keyCode));
      break;
    case 9:
      event.keyCode = '-'.charCodeAt();
      return true;
      break;
    case 10:
    case 11:
    case 12:
    case 13: 
      return /\d/.test(String.fromCharCode(event.keyCode));
      break;
    default:
      return false;
      break;
  }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formName">
<INPUT TYPE="text" NAME="fieldName"
       ONKEYPRESS="return checkKey(this);"
>
</FORM>
</BODY>
</HTML>