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>