如何控制JSP页面上的文本框只能输入数字

如何控制JSP页面上的文本框只能输入数字,或只能输入字母,或只能输入特定字符,谢谢

[code="html"]

function noNumbers(e) { var keynum var keychar var numcheck if(window.event) // IE { keynum = e.keyCode } else if(e.which) // Netscape/Firefox/Opera { keynum = e.which } keychar = String.fromCharCode(keynum) numcheck = /\d/ return !numcheck.test(keychar) }


[/code]

你想找的是正则表达式?
http://deerchao.net/tutorials/regex/regex.htm

使用正则表达式 用javascript实时校验

用正则了。。。。


[code="java"] function replaceNumKeyUp(obj) {
obj.value = obj.value.replace(/[^0-9]/g,'');
}[/code]

var nameReg=/^[a-z,A-Z,0-9,_]$/;

只允许数字、26个英文字母或者下划线组成的字符串

看看正则表达式吧,蛮简单的,呵呵

使用正则表达式监听文本域的ONKEYUP事件

常用HTML正则表达式
[code="java"] 1.只能输入数字和英文的:
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
ID="Text1" NAME="Text1">
2.只能输入数字的:
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
ID="Text2" NAME="Text2">
3.只能输入全角的:
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
ID="Text3" NAME="Text3">
4.只能输入汉字的:
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
ID="Text4" NAME="Text4">[/code]

onbeforepaste:监听执行粘贴操作前事件

onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
整个语句的功能是,每当用户执行粘贴操作前,先取出剪贴板的内容字符串,删除不是数字的字符,只保留数字,然后再粘贴,而不是直接粘贴

你也可以不要这个事件 ,只监听onkeyup事件 ,只是用户 通过复制粘贴可能不能控制

自定义标签最后肯定都会转换成HTML的INPUT元素,该元素就可以有这种onbeforepaste事件 ,,你可能得问你们公司开发这个标签 的人怎么把这个事件放上去而以,