`
pangxin12345
  • 浏览: 190093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

总结正则表达式

    博客分类:
  • js
阅读更多

总结一下正则表达式

"^\\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)))

 
分享到:
评论

相关推荐

    Java使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    深入浅出正则表达式,正则表达式详细介绍

    ### 正则表达式详解 #### 一、正则表达式的定义与背景 正则表达式(Regular Expression),简称regex或regexp,是一种用于描述文本模式的强大工具。它可以帮助我们在文本中进行精确匹配、查找以及替换操作。正则...

    日期正则表达式(很实用)

    ### 日期正则表达式详解 #### 一、基本概念 正则表达式是一种用于文本模式匹配的强大工具,在处理字符串时极为有用。日期格式验证是正则表达式常见应用场景之一,尤其是在表单验证、数据清洗等领域。本文将详细...

    linux 正则表达式总结

    Linux 正则表达式总结 正则表达式是计算机科学中用于描述字符串匹配模式的一种形式语言,由于其强大和灵活的匹配功能,正则表达式广泛应用于各种领域,包括文本编辑、数据处理、网络搜索等。 1. 正则表达式的概述...

    精通正则表达式(第三版)简体中文版

    ### 正则表达式基础知识与应用 #### 一、正则表达式的定义及用途 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助用户查找、替换以及操作特定的字符串或字符组合。它在多种编程语言和操作...

    正则表达式.docx

    正则表达式基础知识点 正则表达式是开发人员经常使用的技术之一,它可以帮助开发人员处理各种字符串相关的问题。然而,许多开发人员对正则表达式的理解和使用存在一定的困难。这篇文章将会详细介绍正则表达式的基础...

    常用正则表达式大全.txt

    根据提供的文件信息,我们可以整理出一系列与正则表达式相关的知识点。这些知识点涵盖了从基本的数字验证到复杂的字符串匹配等多个方面。下面是详细的知识点总结: ### 基本概念 正则表达式是一种用于文本模式匹配...

    如何写正则表达式,正则表达式常用实例

    正则表达式语法和实例总结 正则表达式是一种强大的字符串匹配工具,广泛应用于各种编程语言中,例如Java、Perl等。下面是正则表达式的语法和实例总结。 特殊字符 * `\` 将下一个字符标记为一个特殊字符、或一个原...

    正则表达式(基本包含所有验证的正则)

    ### 正则表达式知识点详解 #### 一、概述 正则表达式是一种强大的文本处理工具,能够帮助我们在文本中进行查找、替换等操作。它通过一系列简短的符号组合来匹配字符串中的某些部分,从而实现高效的数据处理。在本篇...

    精通正则表达式中文版英文版_中文版为扫描版

    总结来说,无论你是新手还是资深开发者,"精通正则表达式"都是一个宝贵的资源,它可以帮助你掌握这个强大的工具,从而更好地处理和操纵文本数据。无论是选择中文扫描版还是英文电子版,都能让你在正则表达式的学习...

    几小时变几秒钟,正则表达式实例秀

    ### 正则表达式实例秀:提升文字处理效率的关键技能 在日常的文字处理工作中,我们经常会遇到需要大量替换或搜索特定格式文本的情况。比如,将文章中的所有网址统一替换为预设格式,或是批量删除含有特定模式的空行...

    Java 使用正则表达式对象实现正则的获取功能

    Java 正则表达式对象实现正则获取功能 在 Java 中,使用正则表达式对象可以实现各种字符串匹配和提取操作。正则表达式对象主要通过 Pattern 和 Matcher 两个类来实现。下面详细介绍如何使用正则表达式对象实现正则...

    正则表达式详解(20分钟看懂正则)

    ### 正则表达式详解 #### 一、正则表达式概述 正则表达式是一种强大的文本模式匹配工具,广泛应用于编程语言如Java中,用于处理字符串数据,实现字符串的搜索、替换、提取等操作。它能够精确描述复杂的文本规则,...

    第11.25节 Python正则表达式编译re.compile及正则对象使用.rar

    总结,`re.compile()`是Python正则表达式的重要工具,它使得我们可以预先编译正则表达式模式,提高程序的效率和可读性。通过创建正则表达式对象,我们可以灵活地执行多种正则操作,如查找、替换和分割字符串,从而在...

    jJAVA正则表达式替换字符

    本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"&lt;title&gt;XXXX&lt;/title&gt;"中的文字XXXX,用正则表达式获取指定...

    正则表达式在程序开发中的应用

    ### 正则表达式在程序开发中的应用 正则表达式是编程中一种非常强大的工具,用于处理字符串数据。它能够帮助开发者实现对文本的精确查找、替换等操作,极大地提高了开发效率。本文将详细介绍正则表达式的基本概念...

    Java根据正则表达式生成字符串—Xeger,automaton

    总结一下,Java中的Xeger和automaton(通常通过RE2J库)为我们提供了处理正则表达式的新方式。Xeger是一个方便的工具,可以直接根据正则表达式生成随机字符串,适合测试和调试。而automaton(有限状态自动机)则为...

    正则表达式不包涵特殊字符(除了 指定字符 以外)

    在探讨如何利用正则表达式来判断一个字符串除指定字符外不包含其他特殊字符之前,我们首先需要了解正则表达式的基本概念以及本场景中的具体需求。 ### 正则表达式简介 正则表达式是一种强大的文本处理工具,能够...

Global site tag (gtag.js) - Google Analytics