HTML5 可以用:

<input type="number">html4 的话只能用js实现了:

<input type="text" onkeyup="this.value=this.value.replace(/\D/g, '')">上面的只能输入整数。如果需要小数正则需要改成:

/[^\d\.]/g

再有其他特殊需求就自己搜索正则吧


原理就是监听输入框的 按键弹起<keyup>事件(按键事件分:按下,弹起),这个时候就是输入字符已经上屏的时候,执行正则替换掉非数字的字符。


当然,以上只是在输入阶段判断,安全点,需要用js在提交阶段再用js验证一下,然后后台接收到数据再验证一下,这样应该就完美了。


最后补充下:这个属于html的范畴,和JSP没有关系。因为到用户输入那,所有的JSP的动态代码都已经输出成静态的HTML了,JSP的动态Java代码已经影响不到已经静态化的页面上的操作了。