总结一下正则表达式
"^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?\\d+)(\\.\\d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^\\w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url "^[A-Za-z0-9_]*$" =================================================== <script language="javascript"> function check(){ //var pattern1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//15位的身份证 //var pattern2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;//18位的身份证 var pattern=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;//匹配E-MALI地址 //var pattern=/^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;//匹配网址 //var pattern=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;//匹配网址 //var pattern=/^[\u4e00-\u9fa5]$/;//匹配中文字符(单个汉字) //var pattern=/^[1-9]\d{5}(?!\d)$/;//匹配邮政编码 //var pattern=/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;//匹配日期 如:1900-01-01 //var pattern=/^[^\x00-\xff]$/;//匹配双字节字符(包括汉字在内的单个字符) //var pattern=/^<(.*)>.*<\/\1>|<(.*) \/>$/;//匹配HTML标记 //var pattern=/<(\S*?)[^>]*>.*?<\/\1>|<.*? \/>/;//匹配HTML标记 //var pattern=/^\n[\s| ]*\r$/;//可以用来删除空白行 //var pattern=/^(\s*)|(\s*)$///可以用来删除行首尾的空白字符(包括空格、制表符、换页符等等) //var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母开头,限制5-16字节,允许字母数字下划线 //var pattern=/^\d{3}-\d{8}|\d{4}-\d{7,8}$/;//匹配国内电话 如:0739-8888888(8) 或 020-88888888 //var pattern=/^[1-9][0-9]{4,}$/;//匹配QQ号码 腾讯QQ号从10000开始 //var pattern=/^\d+\.\d+\.\d+\.\d+$/;//匹配IP地址 /*******************匹配特定数字*********************/ //var pattern=/^(\w)\1{4,}*$/;//匹配整数 //var pattern=/-?[1-9]\d*$/;//匹配整数 //var pattern=/^[1-9]\d*$/;//匹配正整数 //var pattern=/^-[1-9]\d*$/;//匹配负整数 //var pattern=/^[1-9]\d*|0$/;//匹配非负整数 //var pattern=/^-[1-9]\d*|0$/;//匹配非正整数 //var pattern=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;//匹配正浮点数 //var pattern=/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;//匹配负浮点数 //var pattern=/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;//匹配浮点数 //var pattern=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/;//匹配非负浮点数 //var pattern=/^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$/;//匹配非正浮点数 /********************匹配特定字符串*****************/ //var pattern=/^[A-Za-z]+$/;//匹配由26个英文字母组成的字符串 //var pattern=/^[A-Z]+$/;//匹配由26个英文字母的大写组成的字符串 //var pattern=/^[a-z]+$/;//匹配由26个英文字母的小写组成的字符串 //var pattern=/^[A-Za-z0-9]+$/;//匹配由数字和26个英文字母组成的字符串 //var pattern=/^\w+$/;//匹配由数字、26个英文字母或者下划线组成的字符串 //if(!(pattern1.test(document.form1.text.value)||pattern2.test(document.form1.text.value))) if(!pattern.test(document.getElementById("content").value)){ alert("请输入正确的格式!"); return false; } } </script> <% '限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" '限制只能输入全角字符:onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" '限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" '限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" %> =================================================== /* *前台JS表单脚本(输入&验证)库 *注:请使用本JS表单脚本(输入&验证)库的同时保留此版权信息,此是作者花了时间去收集整理以及编写的,谢谢! * 此版本采用GB2312编码格式,请在使用前进行字符编码转换,以保证能够正常使用 */ /* *以下是库函数目录及使用说明: * *常用 *1、Trim=去除字符串前后空格 使用方法:String.trim() *2、ctrim=去除字符串中间空格 使用方法:String.ctrim() *3、onClickSelect=点中text框的时候,选中其中的文字 使用方法:在input位置加上 onClick/onFocus="onClickSelect();" 即可 * *动态输入类 使用方法:在input位置加上 即可 *1、TextOnly=只允许输入字母、数字、下划线 *2、TextNumOnly=只允许输入字母、数字 *3、NumOnly=只允许输入数字 *4、TelOnly=只能输入电话、"-"、"("、")" * *表单验证类 *1、isAccount=是否帐号(由字母、数字、下划线组成){有两种选择,一种有长度限制} *2、isChinese=是否中文(由中文、数字、字母组成) *3、ismail=是否Email *4、isip=是否ip *5、PhoneCheck=电话号码检测(电话和手机) *6、isMobile=手机号码检测 *7、isDate=是否短日期 *8、isTime=是否时间 *9、isDateTime=是否长日期 * *其它函数 *1、changeFrame=改变Frame大小 *2、CheckAll=全选/全不选 *3、onKeyDownDefault=回车->转->Tab *4、admin_Size=改变TextArea输入框高度 * *其它验证正则表达式 *Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ *Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/ *Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/ *Currency : /^\d+(\.\d+)?$/ *Number : /^\d+$/ *Zip : /^[1-9]\d{5}$/ *QQ : /^[1-9]\d{4,8}$/ *Integer : /^[-\+]?\d+$/ *Double : /^[-\+]?\d+(\.\d+)?$/ *English : /^[A-Za-z]+$/ *Chinese : /^[\u0391-\uFFE5]+$/ *UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/ *Username : /^[a-z]\w{3,}$/i(用户名验证,带长度限制) */ //========================================================================常用函数 //--------------------------------除去前后空格 String.prototype.trim = function() { //用正则表达式将前后空格用空字符串替代。 return this.replace(/(^\s*)|(\s*$)/g, ""); } //--------------------------------除去中间空格 String.prototype.ctrim = function() { //用正则表达式将中间空格用空字符串替代。 return this.replace(/\s/g,''); } //--------------------------------点中text框的时候,选中其中的文字 /** *方法名:onClickSelect *描述:点中text框的时候,选中其中的文字 *输入:空 *输出:空 **/ function onClickSelect() { var obj = document.activeElement; if(obj.tagName == "TEXTAREA") { obj.select(); } if(obj.tagName == "INPUT" ) { if(obj.type == "text") obj.select(); } } /* * 判断是否为数字,是则返回true,否则返回false */ 代码 function f_check_number(obj) { if (/^\d+$/.test(obj.value)) { return true; } else { f_alert(obj,"请输入数字"); return false; } } /* * 判断是否为自然数,是则返回true,否则返回false */ 代码 function f_check_naturalnumber(obj) { var s = obj.value; if (/^[0-9]+$/.test( s ) && (s > 0)) { return true; } else { f_alert(obj,"请输入自然数"); return false; } } /* * 判断是否为整数,是则返回true,否则返回false */ 代码 function f_check_integer(obj) { if (/^(\+|-)?\d+$/.test( obj.value )) { return true; } else { f_alert(obj,"请输入整数"); return false; } } /* * 判断是否为实数,是则返回true,否则返回false */ 代码 function f_check_float(obj) { if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value )) { return true; } else { f_alert(obj,"请输入实数"); return false; } } //========================================================================动态输入类函数 //--------------------------------只允许输入字母、数字、下划线(动态判断) function TextOnly(){ var i= window.event.keyCode //8=backspace //9=tab //37=left arrow //39=right arrow //46=delete //48~57=0~9 //97~122=a~z //65~90=A~Z //95=_ if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) { //window.event.keyCode=27; event.returnValue=false return false; } else { //window.event.keyCode=keycode; return true; } } //--------------------------------只允许输入字母、数字(动态判断) function TextNumOnly(){ var i= window.event.keyCode //8=backspace //9=tab //37=left arrow //39=right arrow //46=delete //48~57=0~9 //97~122=a~z //65~90=A~Z //95=_ if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) { //window.event.keyCode=27; event.returnValue=false return false; } else { //window.event.keyCode=keycode; return true; } } //--------------------------------只允许输入数字(动态判断) /** *方法名:NumOnly() *描述:只允许输入数字 *输入:空 *输出:空 **/ function NumOnly(){ var i= window.event.keyCode //8=backspace //9=tab //37=left arrow //39=right arrow //46=delete //48~57=0~9 if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46)) { window.event.keyCode=27; return false; } else { //window.event.keyCode=keycode; return true; } } //--------------------------------只能输入电话号码或者"-"或者"("或者")" function TelOnly(){ var i= window.event.keyCode //8=backspace //9=tab //37=left arrow //39=right arrow //46=delete //48~57=0~9 //40=( //41=) //45=- //32=空格 if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46) && (i!=40) && (i!=41) && (i!=45) && (i!=32)) { window.event.keyCode=27; return false; } else { //window.event.keyCode=keycode; return true; } } //========================================================================动态输入函数(结束) //========================================================================表单验证函数 //--------------------------------判断用户名(判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母) function isAccount(str) { if(/^[a-z]\w{3,}$/i.test(str)) //用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为4位 //if(/^([a-zA-z]{1})([\w]*)$/g.test(str))//用户名由字母和数字、下划线组成,且只能以字母开头 { //alert('); return true; } else return false; } //--------------------------------判断只能输入中文、数字、字母 function isChinese(str) { var pattern = /^[0-9a-zA-Z\u4e00-\u9fa5]+$/i; if (pattern.test(str)) { return true; } else { //alert("只能包含中文、字母、数字"); return false; } } //--------------------------------Email格式判断 function ismail(email) { return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(email)); } //--------------------------------IP格式判断 function isip(s) { var check=function(v) { try { return (v<=255 && v>=0) } catch(x) { return false } }; var re=s.split(".") return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && } //--------------------------------判断电话号码/手机号码 function PhoneCheck(s) { var str=s; var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/; //alert(reg.test(str)); return reg.test(str); } //--------------------------------判断手机号码 function isMobile(str) { var reg=/^0{0,1}13[0-9]{9}$/; return reg.test(str); } //--------------------------------短日期(如2003-12-05) function isDate(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if(r==null) { //alert('输入的信息不是日期格式(YYYY:MM:DD)'); return false; } if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) { //alert("日期格式(YYYY:MM:DD)不对"); return false } var d= new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } var a = if (a == null) { //alert('输入的信息不是时间格式(HH:MM:SS)'); return false; } if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0) { //alert("时间格式(0<=HH<23:0<=MM<60:0<=SS<60)不对"); return false } return true; } var reg = var r = str.match(reg); if(r==null) { //alert('输入的信息不是时间格式(YYYY-MM-DD return false; } var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); } //========================================================================表单验证函数(结束) //========================================================================其它函数 //用于改变当前后台框架的尺寸(参数:对象,关闭时显示图片,打开时显示图片,关闭显示尺寸,打开显示尺寸) // 例:this,'../images/openout.gif','../images/setby.gif','top.frame.cols=\'0,*\'','top.frame.cols=\'150,*\'' function changeFrame(ob,s1,s2,evalString1,evalString2) { if (ob.alt == "收起") { ob.alt = "展开"; ob.src = s1; eval(evalString1); } else { ob.alt = "收起"; ob.src = s2; eval(evalString2); } } //用于全选/全不选(参数form=表单) function CheckAll(form) { for (var i=0;i<form.length;i++) { var e = form; if (e.type=="checkbox") { if (e.name!="AllChoice") { if (form.AllChoice.checked==true) { if (e.disabled==false) e.checked=true; } else { if (e.disabled==false) e.checked=false; } } } } } //--------------------------------用户在button以外的页面元素中按回车-->转换-->按tab键 /** *方法名:onKeyDownDefault *描述:用户在button以外的页面元素中按回车,转换为按tab键 *输入:空 *输出:空 **/ function onKeyDownDefault() { if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){ if (window.event.srcElement.type != "button") window.event.keyCode = 9; } else{ return true; } } // 修改编辑栏高度 function admin_Size(num,objname) { var obj=document.getElementById(objname) if (parseInt(obj.rows)+num>=3) { obj.rows = parseInt(obj.rows) + num; } if (num>0) { obj.width="90%"; } } //取得字符串中中文/汉字的个数 function getChineseNum(obstring) { var pattern = /^[\u4e00-\u9fa5]+$/i; var maxL,minL; maxL = obstring.length; //原始长度 obstring = obstring.replace(pattern,""); minL = obstring.length; //处理后的长度 return (maxL - minL) } //========================================================================其它函数(结束) 验证 是否是 数字 <html xmlns="http://www.w3.org/1999/xhtml"> <body> <script language="JavaScript"> function check(formname){ if (isNaN(document.all['price'].value)){ alert('请输入数字'); document.all["price"].focus(); return false; } else{ if(document.all["price"].value !="") { alert('是数字,通过'); return true; } else { alert('空直,'); return true; } } } </script> <form method="post" action=""> <input type="text" > <input type="submit" value="提交" > <input type ="text" /> </form> </body> </html> 发表于 @ 2009年05月06日 17:29:00 | 评论( 3 ) | 编辑| 举报| 收藏 新一篇:Gridview排序 示例代码 相关文章 laiwei85 发表于2009年7月9日 11:06:11 IP:举报删除 //var pattern=/^\w $/;//匹配由数字、26个英文字母或者下划线组成的字符串 你这个不行 看这个/[^\w\.\/]/igh475410885 发表于2009年7月15日 12:39:27 IP:举报删除 嗯!!这个//var pattern=/^\w $/;//匹配由数字、26个英文字母或者下划线组成的字符串 y 应该是只匹配数字的s6114112 发表于2009年9月3日 14:17:08 IP:举报删除 很好,但是还不太会怎么用啊!发表评论评论内容: 用 户 名: 登录 注册匿名用户 验 证 码: 重新获得验证码 Copyright ? h475410885 Powered by CSDN Blog 近期热点文章推荐 近期热点文章推荐1、 实时模拟动态体积云2、 Hinchcliffe首席技术官:开源软3、 PHP 5.2.12 发布 修复60多个4、 专访Netezza亚太区高层:性能架构比5、 李开复:让我们都拾起创业的激情6、 美科技业十年15大未成功交易:雅虎收购谷7、 Google / Bing 相争,用户得8、 谁来主宰我的WIFI?更多新闻、精彩评论敬请关注CSDN新闻频道 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/h475410885/archive/2009/05/06/4155413.aspx //check 相等 function textEqual(textField1,textField2) { var v1=textField1.value; var v2=textField2.value; if(v1==v2) { textField1.style.backgroundColor=''; textField2.style.backgroundColor=''; return true; } else { textField1.focus(); textField1.style.backgroundColor='blue'; textField2.style.backgroundColor='blue'; return false; } } //check is null function isNull(textField) { var v1=textField.value; if(v1=="") { alert("not null"); textField.focus(); textField.style.backgroundColor='blue'; return false; } else { textField.style.backgroundColor=''; return true; } } //获取长度 function stringLength(textField) { var v1=textField.value; var len =v1.length; return len; } //check长度! minLength 最小值 maxLength 最大值 如果 最大值和最小值相等 则为固定长度 function checkLength(textField,minLength,maxLength) { var v1=textField.value; if(minLength>maxLength) { alert("输入参数错误"); return false; } if(minLength==maxLength) { if(v1.length==minLength) { textField.style.backgroundColor=''; return true; } else { textField.style.backgroundColor='blue'; alert("输入位数有错误"); textField.focus(); return false; } } else { if(v1.length>=minLength&&v1.length<=maxLength) { textField.style.backgroundColor=''; return true; } else { textField.style.backgroundColor='blue'; alert("输入位数有错误"); textField.focus(); return false; } } } //check 数字两位小数 function checkTwoNumber(textField) { if(textField.value.match("^(0|[1-9]\\d*)(\\.\\d{2})?$")) { textField.style.backgroundColor=''; return true; } else { alert("为空或者不是两位小数"); textField.style.backgroundColor='blue'; textField.focus(); return false; } } //获取时间 function getTime(textField1Year,textField2Month,TextField3Day) { var theMoment= new Date(); //变量theYear 为年 var theYear=theMoment.getYear(); //变量theDay 为日 var theDay=theMoment.getDate(); //变量theMonth 为月 var theMonth=theMoment.getMonth()+1; textField1Year.value=theYear; textField2Month.value=theMonth; TextField3Day.value=theDay; } //check汉字输入汉字报错 function checkChanses(textField) { var wordoff=/^[0-9a-zA-Z]+$/; if(textField.value.search(wordoff)==-1) { alert("请输入数字或字母"); textField.style.backgroundColor='blue'; textField.focus(); return false; } else { textField.style.backgroundColor=''; return true; } } //验证汉字 如果为汉字 返回true 不为汉字 返回false; function checkChina(textFeild) { if(textFeild.value.match(/^[\u4E00-\u9FA5]+$/)) { textFeild.style.backgroundColor=''; return true; } else { alert("请输入汉字"); textFeild.style.backgroundColor='blue'; textFeild.focus(); return false; } } //三个不能同时为null function checkthree(textField1,textField2,textField3) { if(textField1.value==""&&textField2.value==""&&textField3.value=="") { textField1.style.backgroundColor='blue'; textField2.style.backgroundColor='blue'; textField3.style.backgroundColor='blue'; alert("三个不能同时为空"); return false; } else { textField1.style.backgroundColor=''; textField2.style.backgroundColor=''; textField3.style.backgroundColor=''; return true; } } function getSystemTime() { var theMoment= new Date(); var theYear=theMoment.getYear(); //变量theDay 为日 var theDay=theMoment.getDate(); //变量theMonth 为月 var theMonth=theMoment.getMonth()+1; var time=theYear+"-"+theMonth+"-"+theDay; return time; } //检查两个控件是否同时为空 function isAllNull(textField1,textField2) { var v1=textField1.value; var v2=textField2.value; if(v1=="" && v2=="") { alert("两项不可同时为空!"); textField1.focus(); textField1.style.backgroundColor='blue'; textField2.style.backgroundColor='blue'; return false; } else { textField1.style.backgroundColor=''; textField2.style.backgroundColor=''; return true; } } //check int function checkInt(textField) { if(textField.value.match("^[0-9]+$")) { textField.style.backgroundColor=''; return true; } else { alert("请输入整数"); textField.style.backgroundColor='blue'; textField.focus(); return false; } } // function checkTruck(textField) { if(textField.value.match(/^[\u4E00-\u9FA5]([A-Z]|[0-9]){6,6}$/)) { textField.style.backgroundColor=''; return true; } else { alert("输入车牌照错误"); textField.style.backgroundColor='blue'; textField.focus(); return false; } } // function checkGoodsID(textField) { if(textField.value.match(/^XT[0-9]{4,4}$/)) { textField.style.backgroundColor=''; return true; } else { alert("输入货物ID错误"); textField.style.backgroundColor='blue'; textField.focus(); return false; } } //one时间大于two 返回true else 返回false function checkTime(oneYear,oneMonth,oneDay,twoYear,twoMonth,twoDay) { var oneTime=oneYear.value+oneMonth.value+oneDay.value; var twoTime=twoYear.value+twoMonth.value+twoDay.value; if(oneTime>=twoTime) { oneYear.style.backgroundColor=''; oneMonth.style.backgroundColor=''; oneDay.style.backgroundColor=''; twoYear.style.backgroundColor=''; twoMonth.style.backgroundColor=''; twoDay.style.backgroundColor=''; return true; } else { oneYear.style.backgroundColor='blue'; oneMonth.style.backgroundColor='blue'; oneDay.style.backgroundColor='blue'; twoYear.style.backgroundColor='blue'; twoMonth.style.backgroundColor='blue'; twoDay.style.backgroundColor='blue'; alert("时间错误"); return false; } } //三个不能同时为null function checkthree(textField1,textField2,textField3) { if(textField1.value==""&&textField2.value==""&&textField3.value=="") { textField1.style.backgroundColor='blue'; textField2.style.backgroundColor='blue'; textField3.style.backgroundColor='blue'; alert("三个不能同时为空"); return false; } else { textField1.style.backgroundColor=''; textField2.style.backgroundColor=''; textField3.style.backgroundColor=''; return true; } } function aa(textField) { if(textField.value.match(/(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})\/(((0[13578]|1[02])\/(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)\/(0[1-9]|[12][0-9]|30))|(02\/(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))\/02\/29)/ )) { textField.style.backgroundColor=''; return true; } else { alert("请输入整数"); textField.style.backgroundColor='blue'; textField.focus(); return false; } } function check() { if(!aa(document.getElementById("aa"))) { } } 最后,将平年和闰年的日期验证表达式合并,我们得到最终的验证日期格式为YYYY-MM-DD的正则表达式为: (([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) DD/MM/YYYY格式的正则验证表达式为: (((0[1-9]|[12][0-9]|3[01])/((0[13578]|1[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|(0[1-9]|[1][0-9]|2[0-8])/(02))/([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}))|(29/02/(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)))