JS常用正则表达式【分享】

工作中JS常用表达式:
1)2010-09-10类型日期校验
2)判断正整数,字符串长度
3)校验长度,和是否空
4)判断字符串是否为空
5)比较字符大小
6)判断字符串长度
7)判断格式是否为Email格式
8)判断是否为两位小数
9)判断是否包含中文
10)判断是否包含字符串
11)判断是否为数字
12)判断是否为正整数
13)判断英文字符跟数字组合
14)IP格式判断

Ext.require(['*']);

	/***
	 * 日期校验
	 * @param {} num
	 * @return {}
	 */
	function testDate(newdate){
		 alert(newdate);
	    var startime=Ext.util.Format.date(newdate,'Y-m-d H:m:s');
	    var startDateTemp = startime.split(" ");
	    reg=/^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/;
		   if(!startDateTemp[0].match(reg)){
			   Ext.Msg.alert("系统提示","请选择正确的日期格式如:2010-09-10!!");
			   return false;
		   }
		   return true;
	}

	//判断正整数,字符串长度
	function checkNumAndLen(abc,lenNum) 
	{ 
		//判断空
		if(!checkNull(abc)) {
			 //判断正整数
			 var reg = /^[0-9]+[0-9]*]*$/;   //判断字符串是否为数字   /^[0-9]+.?[0-9]*$/ 
			 if (!abc.match(reg)) 
			 { 
				return false; 
			 }
			return checkLenth(abc,lenNum);
		}
		return false;
	}
	
	//判断正整数,字符串长度
	function checkNumAndNumLen(abc,lenNum) { 
		//判断空
		if(!checkNull(abc)) {
			 //判断正整数
			 var pattern = /^[0-9]+[0-9]*]*$/;   //判断字符串是否为数字   /^[0-9]+.?[0-9]*$/ 
			 if (pattern.test(abc)){
				if(abc.length <= lenNum){
					return false; 
				}else{
					return true;
				}
			 }else{
				 return true;
			 }
		}else{
			return true;
		}
	}
	
	//校验长度,和是否空
	//校验成功返回true 失败false
	function checkNullAndLength(abc,num) {
		if(!checkNull(abc)) {
			return checkLenth(abc,num);
		}
		return false;
	}

	//判断是否为空
	function checkNull(abc) {
		if(abc == null || abc.replace(/^\s\s*/, '' ).replace(/\s\s*$/, '' ).length == 0) {     
	        return true; 
		}
		return false;
	}
	
	/**
	 * 比较大小
	 * @param from
	 * @param to
	 * @returns {Number}
	 */
	function compare(from,to){
		
		if(from>to){
			return 1;
		}else if(from==to){
			return 0;
		}else if(from<to){
			return -1;
		}
		
	}

	
	//判断字符串长度	
	function checkLenth(abc,lenNum) {
		if(lenNum == 0 || abc == null) {
			return true;
		}
	 
		 var l = 0; 
		 var a = abc.split("");
	
		 for (var i=0;i<a.length;i++) { 
			 if (a[i].charCodeAt(0)<299) {
				l++; 
			 }
			 else 
			 {
				l+=2; 
			 } 
		 } 
		 if(l > lenNum) {
			return false;
		 }
		 return true;
	
	}
	
	//电话号码
	function checkPhone(strNumber)
	{
		var pattern = /^\d{0,20}$/;
		if(strNumber==null||strNumber==""){
			return true;
		}else{
			if(pattern.test(strNumber)){
				return true;
			}
		}
		
			
		return false;
	}

	//Email
	function checkEmail(strEmail)
	{
		var	pattern	=	/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
		if(pattern.test(strEmail)) 
			return true;
		return false;
	}
	
	//2位小数
	function isDecimal(value){
				if(value == null)
					return false;
					
				var v = value;
					
				var pattern = /^[1-9]+\.\d{1,2}$/;
				flag = pattern.test(v);
				
				if(!flag){
	
					
					//obj.value = obj.value + ".00";
					//obj.select();
					//obj.focus();
					return false;
				}else{
					return true;
				}
	}
	
	//是否包含中文
	//true: 包含中文  false:不包含中文
	function checkChinese(str){ 
	    if (escape(str).indexOf("%u") != -1) { 
	        return true; 
	    } 
	    else { 
	        return false; 
	    } 
	} 
	
	//是否包含特殊字符
	function checkQuote(str){ 
	    var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")","'"); 
	    items.push(":", ";", "’", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//"); 
	    items.push("admin", "administrators", "administrator"); 
	    items.push("select", "delete", "update", "insert", "create", "drop", "alter", "trancate"); 
	    str = str.toLowerCase(); 
	    for (var i = 0; i < items.length; i++) { 
	        if (str.indexOf(items[i]) >= 0) { 
	            return true; 
	        } 
	    } 
	    return false; 
	} 
	
	//是否是数字
	function checkNum(str){ 
    	var pattern = /^[0-9]*$/;
    	if(pattern.test(str)){
    		return false;
    	}else{
    		return true;
    	}
	} 

	//是否是正整数
	function checkPositiveNum(str){ 
    	//判断空
		if(!checkNull(str)) {
			 //判断正整数
			 var reg = /^[1-9]+[0-9]*]*$/;   //判断字符串是否为数字   /^[0-9]+.?[0-9]*$/ 
			 if (str.match(reg)){
				return false; 
			 }else{
				 return true;
			 }
		}
		return true;
	} 
	
	/**
	 * 判断文件格式是否正确
	 * @param {Object} str
	 * @return {TypeName} 
	 */
	function checkFile(str){
	    //验证图片文件的正则  
	    var img_reg = /\.([vV][mM]){1}$/;
	    if(str.match(img_reg)){
	    	return false;
	    }else{
	    	return true;
	    }
	} 
	
	/**
	 * 判断文件格式是否正确
	 * @param {Object} str
	 * @return {TypeName} 
	 */
	function checkFileExcel(str){
	    //验证图片文件的正则  
	    var img_reg = /\.([xX][lL][sS]){1}$/;
	    if(str.match(img_reg)){
	    	return false;
	    }else{
	    	return true;
	    }
	} 
	
	//只能是英文字符跟数字组合
  function checkatandnumber(str,strlength){
	  
	  var qtype=/^[A-Za-z0-9]+$/;
	  if(str.match(qtype)){
		  if(!checkLenth(str,strlength)){
			  return false;
		  }else{
			  return true;
		  }
		  
	  }else{
		  return false;
	  }
  }
  
  /**
   * IP格式判断
   * @param {Object} str
   * @param {Object} strlength
   * @return {TypeName} 
   */
  function checkIp(str){
	  var pattern =  /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
	  if(pattern.test(str)){
		  return false;
	  }else{
		  return true;
	  }
  }
  
     


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。