补充几个
手机号:/^1[3|4|5|8][0-9]\d{4,8}$/
时间:/^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
时间+日期:/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
身份证号:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
车牌号:/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/
一个小例子
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Insert title here</title>
</head>
<body>
<style>
.yy{font-family:"楷体";font-size:24px;color:#9932CC;}
</style>
<div class="yy">
<font color="#DC143C" size="4">非法输入的两种报错处理:</font><br/>
只能输入数字(非法输入将弹出提示对话框)<input type="text" name="txt1" "if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}" /><br/>
<font color="#EE82EE" size="4">true:0|123|0123|... false:a|12c|1.|...</font><br/>
只能输入数字(非法输入将直接替换为空)<input "this.value=this.value.replace(/\D/g,'')" type="text" /><br/>
<font color="#EE82EE" size="4">true:0|123|0123|... false:a|12c|1.|...</font><br/>
<font color="#DC143C" size="4">后文中统一使用第二种(非法输入将直接替换为空)</font><br/><br/>
1.只能输入数字 <input "value=value.replace(/\D/g,'')" type="text" /><br/> <!-- OR value=value.replace(/[^\d]/g,'') -->
<font color="#EE82EE" size="4"> true:0|123|0123|... false:a|12c|1.|...</font><br/>
2.只能输入数字和英文的 <input "value=value.replace(/[\W]/g,'') " type="text" /><br/>
<font color="#EE82EE" size="4">true:0|A|a|... false:-|a*|1.|...</font><br/>
3.只能输入中文的 <input "value=value.replace(/[^\u4E00-\u9FA5]/g,'')" type="text"/><br/>
<font color="#EE82EE" size="4">true:哈哈哈|... false:a|12c|1.|...</font><br/>
4.只能输入大小写英文 <input "value=value.replace(/[^\a-\z\A-\Z]/g,'')" type="text" /><br/>
<font color="#EE82EE" size="4">true:abc|ABC|... false:a1|a.|...</font><br/>
5.只能输入非负有理数 <input "if(isNaN(value))execCommand('undo')" type="text" /><br/>
<font color="#EE82EE" size="4"> true:0.1|12|12.3|... false:.0|1.2.|a|...</font><br/>
6.只能输入负有理数 <input "if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" "if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" "if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}" type="text" /><br/>
<font color="#EE82EE" size="4"> true:+1.2|-1.2|0.12|... false:+-|0.1.|1+|...</font><br/>
7.不能输入数字 <input "value=value.replace(/[\d]/g,'') " type="text" /> <br />
<font color="#EE82EE" size="4"> true:abc|+-*/?!|哈哈哈|... false:012|...</font><br/>
8.只能输入英文字母和数字 <input "value=value.replace(/[^\w]/ig,'')" type="text" /><br/>
<font color="#EE82EE" size="4"> true:abc|ABC|123|... false:+-|哈哈哈|./\?!|...</font><br/>
9.只能输入数字0 <input "value=value.replace(/[^0]/g,'')" type="text" /> <br/>
<font color="#EE82EE" size="4"> true:0|00|000|... false:1|+|s|...</font><br/>
10.除数字0以外均可输入 <input "value=value.replace(/0/g,'')" type="text" /> <br/>
<font color="#EE82EE" size="4"> true:abc|+-|456|... false:0</font><br/>
11.小数点后最多只能有两位数字(不能输入字母和运算符号) <input "if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false" type="text" /><br/>
<font color="#EE82EE" size="4"> true:123|0.12|.56|... false:0f|0.123|.f|...</font><br/>
</div>
</body>
</html>