正则表达式积累

字符描述: 
^ :匹配输入的开始位置。 
\:将下一个字符标记为特殊字符或字面值。 
* :匹配前一个字符零次或几次。 
+ :匹配前一个字符一次或多次。 
(pattern) 与模式匹配并记住匹配。 
x|y:匹配 x 或 y。 
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。 
\w :与任何单词字符匹配,包括下划线。 
$ :匹配输入的结尾。

验证邮箱:^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|"+@"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z]"+@"[a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$

匹配标签中内容:<tr>[\s\S]*?</tr>

用group方式获取标签中内容:<td[^>]*>(?<value>.*?)</td>*

手机号:(^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$)

域名:^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$

MAC地址:^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}$

Ip端口:^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$

Ip地址:^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

汉字:^[\u4E00-\u9FA5]+$

邮箱:^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$ 

正负小数,正负整数:^-?([1-9]\d*\.?\d*|0\.?\d*[1-9]\d*|0?\.?0+|0)$

车架号:(?=.*[0-9])(?=.*[a-zA-Z])[0-9a-zA-Z]{17}      数字和字母组合 至少有一个字母或数字

Url验证

 Regex regEx = new Regex("^(http|https|ftp)\\://([a-zA-Z0-9\\.\\-]+(\\:[a-zA-" + "Z0-9\\.&%\\$\\-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{" + "2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}" + "[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|" + "[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-" + "4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0" + "-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\.[a-zA-Z]{2,4})(\\:[0-9]+)?(/" + "[^/][a-zA-Z0-9\\.\\,\\?\\'\\\\/\\+&%\\$\\=~_\\-@]*)*$");
            if (regEx.IsMatch(txtFilePath.Text))

1.匹配非负整数(正整数 + 0)
^/d+$
 
2.匹配正整数
^[0-9]*[1-9][0-9]*$
 
3.匹配非正整数(负整数 + 0)
^((-/d+)|(0+))$
4.匹配负整数
^-[0-9]*[1-9][0-9]*$
 
5.匹配整数
^-?/d+$
 
6.匹配数字
^[0-9]*$
7.匹配非零的正整数
^\+?[1-9][0-9]*$
8.匹配非零的负整数
^\-[1-9][0-9]*$
9.匹配n位的数字
^\d{n}$
10.匹配至少n位数字
^\d{n,}$
11.匹配m-n位的数字
^\d{m,n}$
12.匹配零和非零开头的数字
^(0|[1-9][0-9]*)$
13.匹配证有两位小数的正实数
^[0-9]+(.[0-9]{2})?$
14.匹配有1-3位小数的正实数
^[0-9]+(.[0-9]{1,3})?$
15.匹配非负浮点数(正浮点数 + 0)
^/d+(/./d+)?$
16.匹配正浮点数
^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$
17.匹配非正浮点数(负浮点数 + 0)
^((-/d+(/./d+)?)|(0+(/.0+)?))$
 
9.匹配负浮点数
^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$
18.匹配浮点数
^(-?/d+)(/./d+)?$
 
 
 
 
 

/*------------------------弹出窗口---------------------------*/
function OpenFullWindow()
{
if(window.name.indexOf("NewWindow")==-1)
{
var d=new Date();
var str="NewWindow";
window.opener = top;
windowprops = "top=0,left=0,status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes" + ",width=" + (screen.availWidth-10) + ",height=" + (screen.availHeight-45);
winpops = window.open (self.location,str,windowprops);
winpops.focus();
window.close();
}
}

/*--------------------------------增加删除下拉框中的项-------------------------------------*/
function SelectItemAdd(obj,strText,strValue)
{
var opts= obj.options;
var opt = new Option(strText,strValue);
opts.length++;
opts[opts.length-1] = opt;
}
function SelectItemRemove(obj)
{
var lengthObj = obj.length;
for(i = 0;i < lengthObj;i++)
{
obj.remove(i);
lengthObj = obj.length;
i--;
}
}

/*------------------------------------判断是否为短日期型-----------------------------------*/
function isDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
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]);
}

/*
====================================================
比较两个字大小

====================================================
*/
function CheckNum(num1,num2)
{
if(num1==num2)
{
return "=";
}
var x=Math.max(num1,num2);
if(num1==x)
{
return ">";
}else
{
return "<";
}

}
function ShowCalendar(objInput, i)
{
var vReturnValue = showModalDialog( ShowCalendarUrl(i) + "Common/CalendarHour.htm","","dialogWidth:330px;dialogHeight:240px;status:no;center:true");
if (vReturnValue!="" && vReturnValue!=null){
objInput.value = vReturnValue;
}
}
function ShowCalendarDate(objInput, i)
{
var vReturnValue = showModalDialog( ShowCalendarUrl(i) + "Common/Calendar.htm","","dialogWidth:330px;dialogHeight:240px;status:no;center:true");
if (vReturnValue!="" && vReturnValue!=null){
objInput.value = vReturnValue;
}
}
function ShowCalendarUrl(i)
{
var outputstr="";
if (i == 1)
{
outputstr="/";
}
else
{
for(var j = 2; j<=i;j++ )
{
outputstr = outputstr + "../";
}
}
return outputstr;
}


function OpenUser()
{
window.open("1.htm","","top=100,left=200,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=650,height=450");
return false;
}
function OpenTreeUser()
{
window.open("1.htm","","top=100,left=200,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=450,height=550");
return false;
}
function OpenUpLoadFile()
{
window.open("1.htm","","scrollbars=yes,top=50,left=200,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=450,height=500");
return false;
}

 


/*
=====================================================
去除左边的空格
=====================================================
*/
function LTrim(str)
{
return str.replace(/(^\s*)/g, "");
}
/*
==========================================================
日期比较
==========================================================
*/
function checkSEDate(starttime,endtime)
{
var comp1 = compareDate(starttime,endtime);
if(!comp1)
{
alert('结束日期应大于或等于开始日期!');
return false;
}
else return true;
}
//校验方法
function checkData()
{
return checkSEDate() ;
}
//对比日期
function compareDate(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1);
var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) > Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear))
{
return false;
}
return true;
}

/*
=====================================================
去除右边的空格
=====================================================
*/
function RTrim(str)
{
return this.replace(/(\s*$)/g, "");
}

/*
=====================================================
判断给定字符串是否为空

=====================================================
*/
function IsNull(str)
{
if(Trim(str)=="")
{
return false;
}else
{
return true;
}
}


/*
===========================================
计算字符串打印长度
===========================================
*/
function PrintLength(str)
{
return str.replace(/[^\x00-\xff]/g,"**").length;
}

/*
===========================================
//是否是正确的IP地址
===========================================
*/
function IsIPAddress(str)
{
var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if (reSpaceCheck.test(str))
{
str.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0 && RegExp.$2 <= 255 && RegExp.$2 >= 0 && RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}

/*
===========================================
是否是正确的长日期
===========================================
*/
function isLongDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)
{
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]);
}

/*
===========================================
//是否是手机号
===========================================
*/
function isMobileNum(str)
{
return /^0{0,1}13[0-9]{9}$/.test(str);
}


/*
===========================================
//是否是邮编(中国)
===========================================
*/
function isPostCode(str)
{
return /^[\d]{6}$/.test(str);
}

/*
===========================================
//是否是有汉字
===========================================
*/
function existChinese(str)
{
//[\u4E00-\u9FA5]為漢字﹐[\uFE30-\uFFA0]為全角符號
return /^[\x00-\xff]*$/.test(str);
}

/*
===========================================
//是否是合法的文件名/目录名
===========================================
*/
function isFileName(str)
{
return /[\\\/\*\?\|:"<>]/g.test(str);
}

/*
===========================================
//是否是有效链接
===========================================
*/
function isUrl(str)
{
///^http:\/\/([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$/.test(str);
return false;
}

/*
===========================================
//是否是有效的身份证(中国)
===========================================
*/
function isIDCard(str)
{
//return \d{18}[\d|X]|\d{15}.test(str);
/*
var iSum=0;
var info='';
var sId =str;
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};

if(!/^\d{17}(\d|x)$/i.test(sId))
{
return false;
}
sId=sId.replace(/x$/i,"a");
//非法地区
if(aCity[parseInt(sId.substr(0,2))]==null)
{
return false;
}
var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"));
//非法生日
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
return false;
}
for(var i = 17;i>=0;i--)
{
iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
}
if(iSum%11!=1)
{
return false;
}
return true;
*/
}

/*
===========================================
//是否是有效的电话号码(中国)
===========================================
*/
function isPhoneCall(str)
{
return /(^[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}$)/.test(str);
}


/*
===========================================
//是否是数字
===========================================
*/
function isNumeric(str,flag)
{
//验证是否是数字
//if(isNaN(this))
//{
// return false;
//}
switch(flag)
{
case null://数字
case "":
return true;
case "+"://正数
return/(^\+?|^\d?)\d*\.?\d+$/.test(this);
case "-"://负数
return/^-\d*\.?\d+$/.test(this);
case "i"://整数
return/(^-?|^\+?|\d)\d+$/.test(this);
case "+i"://正整数

return/(^\d+$)|(^\+?\d+$)/.test(this);

case "-i"://负整数

return/^[-]\d+$/.test(this);
case "f"://浮点数

return/(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
case "+f"://正浮点数

return/(^\+?|^\d?)\d*\.\d+$/.test(this);
case "-f"://负浮点数
return/^[-]\d*\.\d$/.test(this);
default://缺省
return true;
}
}

/*
===============================================================================
弹出新窗口
===============================================================================
*/
function PopWindow(pageUrl,target,WinWidth,WinHeight)
{
var popwin=window.open(pageUrl,target,"scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width="+WinWidth+",height="+WinHeight);
return false;
}

/*
===============================================================================
检查字符串的合法性,即是否包含"'\'字符,包含则返回false;反之返回true
===============================================================================
*/
function IsLegality(obj)
{
var intCount1=obj.indexOf("\"",0);
var intCount2=obj.indexOf("\'",0);
if(intCount1>0 || intCount2>0)
{
return false;
}
else
{
return true;
}
}

 


/*
======================================================================
判断是否是闰年

======================================================================
*/
function IsLeapYear(iYear)
{
if (iYear+"" == "undefined" || iYear+""== "null" || iYear+"" == "")
return false;
iYear = parseInt(iYear);
varisValid= false;
if((iYear % 4 == 0 && iYear % 100 != 0) || iYear % 400 == 0)
isValid= true;
return isValid;
}

/*
=====================================================================
关闭窗体
=====================================================================
*/
function shutwin()
{
window.close();
return;
}
/*
====================================================================
获取上传文件扩展名

====================================================================
*/
function getFilePostfix(oFile)
{
if(oFile == null)
return null;
var pattern = /(.*)\.(.*)$/gi;
if(typeof(oFile) == "object")
{
if(oFile.value == null || oFile.value == "")
return null;
var arr = pattern.exec(oFile.value);
return RegExp.$2;
}
else if(typeof(oFile) == "string")
{
var arr = pattern.exec(oFile);
return RegExp.$2;
}
else
return null;
}
/*
====================================================================
获取上传文件名

====================================================================
*/
function getFileName(filepath)
{
//return filepath.substring(filepath.lastIndexOf('\\')+1,filePath.length-4);
return filepath.substring(filepath.lastIndexOf('\\')+1);
}

//判断邮政编码
function is_postcode(object_name)
{
var string;
string=new String(object_name);
if(string.length==0)
{
return true;
}
else
{
if (string.length!=6)
{
alert("邮政编码应为6位数字,您的输入有误,请重新填写!");
return false;
}
if (isNaN(string))
{
alert("邮政编码应为数字,您的输入有误,请重新填写!");
return false;
}
return true;
}

}
//判断是否含字母
function checkIsAZ(str)
{
return (/[a-zA-Z]/g.test(str));
}

posted on 2013-04-08 13:20  记性特差  阅读(474)  评论(0编辑  收藏  举报