| case 37:// 如果动作是方向键[左] case 40:// 如果动作是方向键[下] { nCursorPos--; break; } default : { strText = strText.substr(0,nCursorPos) + String.fromCharCode(nKeyCode) + strText.substr(nCursorPos,nTextLen); nCursorPos++; } |
然后判断掩码是否正确,如果正确,那么此次输入合法,将值显示添加到文本框中。
| if (strText.match(expMask)) { // 输入格式正确 objTextBox.value = strText; } |
| // 移动光标 setCursor(objTextBox,nCursorPos); |
其主要就是把系统的键盘消息替换成自己的处理,屏蔽掉系统的,这样就可以获得最大的操控。
如此就完成了一个对指定的正则表达式进行格式限制的TEXTBOX就诞生了。
附完整代码:
| // 根据指定正表达式,来控制OBJ表示 function mask(objTextBox,mask) { // 掩码 expMask = new RegExp(mask); // 当前文本框中的文本 // 当前光标位置 // 按下的键码 // 封住传统处理 |
