有时候,我们需要用户输入的文本中包含或不包含某些字符,例如,电话号码不能包含非数字符,相应文本框中插入字符操作的是keypress事件。
因此,可以通过阻止这个事件的默认行为来屏蔽此类字符,不过还要排除掉复制和粘贴快捷键以及各个浏览器向上键、向下键、退格键、删除键对应的字符编码(0~9),也就是排除掉大于9的的字符编码。
<script type="text/javascript">
EventUtil.addHandler(textBox,"keypress",function(event){
event = EventUtil.getEvent(event);
var target = EventUtil.getTarget(event);
var charCode = EventUtil.getCharCode(event);
if(!/\d/.test(String.fromCharCode(charCode)) && charCode>9 && !event.ctrlKey){
EventUtil.preventDefault(event);
}
});
</script>