常用的正则表达式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>常用正则表达式</title>
		<script>
			/**
			 * 用途:检查输入的Email信箱格式是否正确
			 * 输入:strEmail:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkEmail(strEmail){
				//var emailReg=/^[_a-z0-9]+@([a-z0-9]+\.)+[a-z0-9]{2,3}$/;
				var emailReg=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
				if(emailReg.test(strEmail)){
					return true;
				}else{
					alert("输入的Email地址格式不正确");
					return false;
				}
			};
			/**
			 * 用途:校验IP地址的格式
			 * 输入:strIP:ip地址
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isIP(strIP){
				if(isNull(strIP)){
					return false;
				}
				var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g//匹配IP地址的正则表达式
				if(re.test(strIP)){
					if(RegExp.$1<256&&RegExp.$2<256&&RegExp.$3<256&&RegExp.$4<256){
						return true;
					}
				}
				return false;
			};
			/**
			 * 用途:检查输入手机号是否正确
			 * 输入:strMobile:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkMobile(strMobile){
				var regu=/^[1][3][0-9]{9}$/;
				var re=new RegExp(regu);
				if(re.test(strMobile)){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入手机号码格式是否正确
			 * 输入:strPhone:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkPhone(strPhone){
				var phoneRegWithArea=/^[0][1-9]{2,3}-[0-9]{5,10}$/;
				var phoneRegNoArea=/^[1-9]{1}[0-9]{5,8}$/;
				var prompt="输入电话号码不正确";
				if(strPhone.length>9){
					if(phoneRegWithArea.test(strPhone)){
						return true;
					}else{
						alert(prompt);
						return false;
					}
				}else{
					if(phoneRegNoArea.test(strPhone)){
						return true;
					}else{
						alert(prompt);
						return false;
					}
				}
			};
			/**
			 * 用途:检查输入输入字符串是否为空或全部都是空格
			 * 输入:str
			 * 返回:如果全是空返回true,否则返回false
			 */
			function isNull(str){
				if(str==""){
					return true;
				}
				var regu="^[]+$";
				var re=new RegExp(regu);
				return re.test(str);
			};
			/**
			 * 用途:检查输入对象的值是否符合整数格式
			 * 输入:str:输入的字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isInteger(str){
				var regu=/^[-]{0,1}[0-9]{1,}$/;
				return regu.test(str);
			};
			/**
			 * 用途:检查输入字符串是否符合正整数格式
			 * 输入:s:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isNumber(s){
				var regu="^[0-9]+$";
				var re=new RegExp(regu);
				if(s.search(re)!=-1){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入字符串是否是带小数点的数字格式,可以是负数
			 * 输入:str:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isDecimal(str){
				if(isInteger(str)){
					return true;
				}
				var re=/^[-]{0,1}(\d+)[\.]+(\d+)$/;
				if(re.test(str)){
					if(RegExp.$1==0&&RegExp.$2==0){
						return false;
					}
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入对象的值是否符合端口号格式
			 * 输入:str:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isPort(str){
				return (isNumber(str)&&str<65536);
			};
			/**
			 * 用途:检查输入字符串是否符合金额格式 格式自定义为带小数的正数,小数点后最多三位
			 * 输入:s:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isMoney(s){
				var regu=/^[0-9]+[\.][0-9]{0,3}$/;
				var re=new RegExp(regu);
				if(re.test(s)){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入字符串是否只由英文字母和数字和下划线组成
			 * 输入:s:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isNumberOr_Letter(s){
				//判断是否是数字或字母或下划线
				var regu="^[0-9a-zA-Z\_]+$";
				var re=new RegExp(regu);
				if(re.test(s)){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入字符串是否只由英文字母和数字组成
			 * 输入:s:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isNumberOrLetter(s){
				//判断是否是数字或字母
				var regu="^[0-9a-zA-Z]+$";
				var re=new RegExp(regu);
				if(re.test(s)){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:检查输入字符串是否只由汉字、字母和数字组成
			 * 输入:s:字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isChinaOrNumbOrLett(s){
				//判断是否是汉字、数字或字母
				var regu="^[0-9a-zA-Z\u4e00-\u9fa5]+$";
				var re=new RegExp(regu);
				if(re.test(s)){
					return true;
				}else{
					return false;
				}
			};
			/**
			 * 用途:判断是否是日期
			 * 输入:date:日期;fmt:日期格式
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isDate(date,fmt){
				if(fmt==null){
					fmt="yyyyMMdd";
				}
				var yIndex=fmt.indexOf("yyyy");
				if(yIndex==-1){
					return false;
				}
				var year=date.substring(yIndex,yIndex+4);
				var mIndex=fmt.indexOf("MM");
				if(mIndex==-1){
					return false;
				}
				var month=date.substring(mIndex,mIndex+2);
				var dIndex=fmt.indexOf("dd");
				if(dIndex==-1){
					return false;
				}
				var day=date.substring(dIndex,dIndex+2);
				if(!isNumber(year)||year>"2100"||year<"1900"){
					return false;
				}
				if(!isNumber(month)||month>"12"||month<"01"){
					return false;
				}
				if(day>getMaxDay(year,month)||day<"01"){
					return false;
				}
				return true;
			};
			function getMaxDay(year,month){
				if(month==4||month==6||month==9||month==11){
					return "30";
				}
				if(month==2){
					if(year%4==0&&year%100!=0||year%400==0){
						return"29";
					}else{
						return"28";
					}
				}else{
					return"31";
				}
			};
			/**
			 * 用途:字符1是否以字符串2结束
			 * 输入:str1:字符串;str2:被包含的字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isLastMatch(str1,str2){
				var index=str1.lastIndexOf(str2);
				if(str1.length==index+str2.length){
					return true;
				}
				return false;
			};
			/**
			 * 用途:字符1是否以字符串2开始
			 * 输入:str1:字符串;str2:被包含的字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isFirstMatch(str1,str2){
				var index=str1.indexOf(str2);
				if(index==0){
					return true;
				}
				return false;
			};
			/**
			 * 用途:字符1是包含字符串2
			 * 输入:str1:字符串;str2:被包含的字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function isMatch(str1,str2){
				var index=str1.indexOf(str2);
				if(index==-1){
					return false;
				}
				return true;
			};
			/**
			 * 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,且结束如期>=起始日期
			 * 输入:startDate:起始日期,字符串;endDate:结束如期,字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkTwoDate(startDate,endDate){
				if(!isDate(startDate)){
					alert("起始日期不正确");
					return false;
				}else if(!isDate(endDate)){
					alert("终止日期不正确");
					return false;
				}else if(startDate>endDate){
					alert("起始日期不能大于终止日期");
					return false;
				}
				return true;
			};
			/**
			 * 用途:检查复选框被选中的数目
			 * 输入:checkboxID:字符串
			 * 返回:返回该复选框中被选中的数目
			 */
			function checkSelect(checkboxID){
				var check=0;
				var i=0;
				if(document.all(checkboxID).length>0){
					for(i=0;i<document.all(checkboxID).length;i++){
						if(document.all(checkboxID).item(i).checked){
							check+=1;
						}
					}
				}else{
					if(document.all(checkboxID).checked){
						check=1;
					}
				}
				return check;
			}
			function getTotalBytes(varField){
				if(varField==null){
					return -1;
				}
				var totalCount=0;
				for(i=0;i<varField.value.length;i++){
					if(varField.value.charCodeAt(i)>127){
						totalCount+=2;
					}else{
						totalCount++;
					}
				}
				return totalCount;
			}
			function getFirstSelectedValue(checkboxID){
				var value=null;
				var i=0;
				if(document.all(checkboxID).length>0){
					for(i=0;i<document.all(checkboxID).length;i++){
						if(document.all(checkboxID).item(i).checked){
							value=document.all(checkboxID).item(i).value;
							break;
						}
					}
				}else{
					if(document.all(checkboxID).checked){
						value=document.all(checkboxID).value;
					}
				}
				return value;
			}
			function getFirstSelectedIndex(checkboxID){
				var value=-2;
				var i=0;
				if(document.all(checkboxID).length>0){
					for(i=0;i<document.all(checkboxID).length;i++){
						if(document.all(checkboxID).item(i).checked){
							value=i;
							break;
						}
					}
				}else{
					if(document.all(checkboxID).checked){
						value=-1;
					}
				}
				return value;
			}
			function selectAll(checkboxID,status){
				if(document.all(checkboxID)==null){
					return;
				}
				if(document.all(checkboxID).length>0){
					for(i=0;i<document.all(checkboxID).length;i++){
						document.all(checkboxID).item(i).checked=status;
					}
				}else{
					document.all(checkboxID).checked=status;
				}
			}
			function selectInverse(checkboxID){
				if(document.all(checkboxID)==null){
					return;
				}
				if(document.all(checkboxID).length>0){
					for(i=0;i<document.all(checkboxID).length;i++){
						document.all(checkboxID).item(i).checked=!document.all(checkboxID).item(i).checked;
					}
				}else{
					document.all(checkboxID).checked=!document.all(checkboxID).checked;
				}
			}
			function checkDate(value){
				if(value==""){
					return true;
				}
				if(value.length!=8||!isNumber(value)){
					return false;
				}
				var year=value.substring(0,4);
				if(year>"2100"||year<"1900"){
					return false;
				}
				var month=value.substring(4,6);
				if(month>"12"||month<"01"){
					return false;
				}
				var day=value.substring(6,8);
				if(day>getMaxDay(year,month)||day<"01"){
					return false;
				}
				return true;
			};
			/**
			 * 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空且结束日期>=起始日期
			 * 输入:startDate:起始日期,字符串;endDate:结束日期,字符串
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkPeriod(startDate,endDate){
				if(!checkDate(startDate)){
					alert("起始日期不正确");
					return false;
				}else if(!checkDate(endDate)){
					alert("终止日期不正确");
					return false;
				}else if(startDate>endDate){
					alert("起始日期不能大于终止日期");
					return false;
				}
				return true;
			};
			/**
			 * 用途:检查证券代码是否正确
			 * 输入:secCode:证券代码
			 * 返回:如果通过验证返回true,否则返回false
			 */
			function checkSecCode(secCode){
				if(secCode.length!=6){
					alert("证券代码长度应该为6位");
					return false;
				}
				if(!isNumber(secCode)){
					alert("证券代码只能包含数字");
					return false;
				}
				return true;
			};
			/**
			 * function:cTrim(sInputString,iType)
			 * description:字符串去空格的函数
			 * parameters:iType:1=去掉字符串左边的空格;2=去掉字符串右边的空格;0=去掉字符串左右两边的空格
			 * return value:去掉空格的字符串
			 */
			function cTrim(sInputString,iType){
				var sTmpStr='';
				var i=-1;
				if(iType==0||iType==1){
					while(sTmpStr==''){
						++i;
						sTmpStr=sInputString.substr(i,1);
					}
					sInputString=sInputString.substring(i);
				}
				if(iType==0||iType==2){
					sTmpStr='';
					i=sInputString.length;
					while(sTmpStr==''){
						--i;
						sTmpStr=sInputString.substr(i,1);
					}
					sInputString=sInputString.substring(0,i+1);
				}
				return sInputString;
			};
		</script>
	</head>
	<body>
	</body>
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值