正则表达式检验

/**
 * 格式化数字
 * @param value   数字数值(必须参数)
 * @param decimal 小数点 (非必须参数:若没有,则默认为2)
 * @returns 数字
 */
function formatNumber(value,decimal) {
	if(isNaN(value))
		return value;
	var re =  /^[0-9]+[0-9]*]*$/;
	if (!re.test(decimal)){
		decimal = 2;
	}
	var n = value.toFixed(decimal);
	var a = n.split(".");
	if(a[0].length > 3){
		var str = "";
		for(var i = a[0].length-1;i>=0;i=i-3){
			if(i  >= 3)
				str = ","+ a[0].substring(i-2,i+1) +str;
			else
				str = a[0].substring(i-2,i+1) +str;
		}
		if(decimal > 0)
			return str+"."+a[1];
		else
			return str;
	}else{
		return n;
	}
}

/**
 * 接收url传的参数
 * @param parName 参数名称(必须参数)
 * @returns 接收到参数
 */
function getParameter(parName){
	var str = parName.toLowerCase() + "=";
	var gvalue = "";
	var HREF = location.href;
	var upperHREF = location.href.toLowerCase();
	if(upperHREF.indexOf(str)>0){
	gvalue = HREF.substring(upperHREF.indexOf(str) + str.length,upperHREF.length);
	if(gvalue.indexOf('&')>0) gvalue = gvalue.substring(0,gvalue.indexOf('&'));
	if(gvalue.indexOf("#")>0) gvalue = gvalue.split("#")[0];
	}
	return gvalue;
}

/**
 * 去掉左右空格
 * @param str 字符(必须参数)
 * @returns
 */
function trim(str){   
	return str.replace(/(^\s*)|(\s*$)/g, "");   
}

/**
 * 
 * @param value 日期(必须参数)
 * @param formatter 格式(非必须参数:默认为:yyyy-MM-dd)
 * 目前支持的格式有:①: yyyy-MM-dd; ②: yyyy/MM/dd;  ③:yyyy.MM.dd; ④:yyyy-MM; ⑤: yyyy/MM;  ⑥: yyyy.MM
 * @returns {String}
 */
function formatDate(value,formatter) {
	if (value == null || value == '') {
		return '';
	}
	if(formatter == null || formatter == "undefined" || formatter == ""){
		formatter = "yyyy-MM-dd";
	}
	var year = value.getFullYear();
	var month = value.getMonth()+1;
	var day = value.getDate();
	if(month < 10)
		month = "0"+month;
	if(day < 10)
		day = "0" + day;
	if(formatter == "yyyy-MM-dd"){
		return year + "-" + month + "-" + day;
	}else if(formatter == "yyyy/MM/dd"){
		return year + "/" + month + "/" + day;
	}else if(formatter == "yyyy.MM.dd"){
		return year + "." + month + "." + day;
	}else if(formatter == "yyyy-MM"){
		return year + "-" + month;
	}else if(formatter == "yyyy/MM"){
		return year + "/" + month;
	}else if(formatter == "yyyy.MM"){
		return year + "." + month;
	}else
		return ""; 
}

/**
 * 格式化日期时间
 * @param value 日期时间(必须参数)
 * @param formatter 格式(非必须参数:默认为:yyyy-MM-dd HH:mm:ss)
 * 目前支持的格式有:①: yyyy-MM-dd HH:mm:ss; ②: yyyy/MM/dd HH:mm:ss;  ③:yyyy.MM.dd HH:mm:ss; ④:yyyy-MM-dd hh:mm:ss; ⑤: yyyy/MM/dd hh:mm:ss;  ⑥: yyyy.MM.dd hh:mm:ss
 * @returns 
 */
function formatDateTime(value,formatter) {
	alert(formatter);
	if (value == null || value == '') {
		return '';
	}
	if(formatter == null || formatter == "undefined" || formatter == ""){
		formatter = "yyyy-MM-dd HH:mm:ss";
	}
	var year = value.getFullYear();
	var month = value.getMonth()+1;
	var day = value.getDate();
	var hours = value.getHours();
	var minutes = value.getMinutes(); 
	var seconds = value.getSeconds();
	if((formatter == "yyyy-MM-dd hh:mm:ss" || formatter == "yyyy/MM/dd hh:mm:ss" || formatter == "yyyy.MM.dd hh:mm:ss") && hours >=13 && hours <=23){
		hours = hours-12;
	}
	if(month < 10)
		month = "0"+month;
	if(day < 10)
		day = "0" + day;
	if(hours < 10)
		hours = "0"+hours;
	if(minutes < 10)
		minutes = "0" + minutes;
	if(seconds < 10)
		seconds = "0"+seconds;
	if(formatter == "yyyy-MM-dd HH:mm:ss" || formatter == "yyyy-MM-dd hh:mm:ss"){
		return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
	}else if(formatter == "yyyy/MM/dd HH:mm:ss" || formatter == "yyyy/MM/dd hh:mm:ss"){
		return year + "/" + month + "/" + day + " " + hours + ":" + minutes + ":" + seconds;
	}else if(formatter == "yyyy.MM.dd HH:mm:ss" || formatter == "yyyy.MM.dd hh:mm:ss"){
		return year + "." + month + "." + day + " " + hours + ":" + minutes + ":" + seconds;
	}else
		return ""; 
}

/**
 * 将字符串转成日期
 * @param value 日期时间字符串(必须参数)
 * @param formatter 格式(非必须参数:默认为:yyyy-MM-dd)
 * 目前支持的格式有:①: yyyy-MM-dd; ②: yyyy/MM/dd;  ③:yyyy.MM.dd; ④:yyyy-MM; ⑤: yyyy/MM;  ⑥: yyyy.MM
 * @returns 
 */
function parseDate(value,formatter){ 
	if(value == null)
		return "";
	if(formatter == null || formatter == "undefined" || formatter == ""){
		formatter = "yyyy-MM-dd";
	} 
	if(formatter == "yyyy-MM-dd"){
		var a =  value.split("-");
		return new Date(a[0],parseInt(a[1],10)-1,a[2]);
	}else if(formatter == "yyyy/MM/dd"){
		var a =  value.split("/");		
		return new Date(a[0],parseInt(a[1],10)-1,a[2]);
	}else if(formatter == "yyyy.MM.dd"){
		var a =  value.split(".");
		return new Date(a[0],parseInt(a[1],10)-1,a[2]);
	}else if(formatter == "yyyy-MM"){
		var a =  value.split("-"); 
		return new Date(a[0],parseInt(a[1],10)-1,1);
	}else if(formatter == "yyyy/MM"){
		var a =  value.split("/");		
		return new Date(a[0],parseInt(a[1],10)-1,1);
	}else if(formatter == "yyyy.MM"){
		var a =  value.split(".");
		return new Date(a[0],parseInt(a[1],10)-1,1);
	}else
		return "";
}

function formatFileSize(value){
	return (value/1024).toFixed(2)+"KB";
}

/**
 * ajax重装
 * @param url (必须参数)
 * @param data 传递参数(必须参数,没有请填写null)
 * @param success 成功操作(非必须参数)
 * @param async是否异步(true为异步,false为同步,默认为同步)
 */
function ajax(url,data,success,async){
	if(url == null || url == "" || url == "undefined")
		return false;
	if(success == null || success == "undefined")
		success = function(data,textStatus){};
	if(async != false && async != true)
		async = false;
	$.ajax({
		url:url,
		data:data,
		type:"post",
		dataType:"json",
		async: false,
		success: function(result,textStatus){ 
			success(result,textStatus);
		}	
	});
}

/**
 * 检测客户端浏览器是否安装flash控件
 */
function flashChecker(){ 
	var hasFlash = false;
	if(document.all){
		try{
			hasFlash = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
		}catch(e){
			hasFlash = false;
	    }
	}else{ 
		if(navigator.plugins && navigator.plugins.length > 0){ 
			var swf = navigator.plugins["Shockwave Flash"]; 
			if(swf){ 
				hasFlash = true; 
			} 
		} 
	} 
	return hasFlash; 
} 

/**
 * 判断表单时候被改变,必须和setDefaultFormData(formid)方法联用
 * @param formTarget (必须参数) 表单节点
 */
function isFormChanged(formTarget){
	var isChanged = false;
	formTarget.find(":input").each(function(){
		var type = this.type;
		if(type == "select-one"){
			for (var j = 0; j < this.options.length; j++){  
	            if (this.options[j].selected != this.options[j].defaultSelected){  
	                isChanged = true;
	                return false;  
	            }  
			}  
		}else if(type == "checkbox" || type == "radio"){
			if(this.checked != this.defaultChecked){
				 isChanged = true; 
	             return false; 
			}
		}else if(type == "textarea" || type == "text" || type == "hidden" || type == "image" || type == "password"){
			if(this.value != this.defaultValue){
				isChanged = true;  
				return false; 
			}
		}else{}

	});
	return isChanged;
}

/**
 * 为表单设置默认的值(默认将当前表单中各元素的值设为默认值,后常和isFormChanged(formid)联用)
 * @param formTarget (必须参数) 表单节点
 */
function setDefaultFormData(formTarget){
	formTarget.find(":input").each(function(){
		var type = this.type;
		if(type == "select-one"){
			for (var j = 0; j < this.options.length; j++){  
				this.options[j].defaultSelected = this.options[j].selected;
			}  
		}else if(type == "checkbox" || type == "radio"){
			this.defaultChecked = this.checked;
		}else if(type == "textarea" || type == "text" || type == "hidden" || type == "image" || type == "password"){
			this.defaultValue = this.value;
		}
	});
}

/**
 * 将字符串转成json
 * @param str 字符串 
 */
function stringToJson(str){
	return  eval('(' + str + ')'); 
}

/**
 * 将json转成字符串
 * @param json 对象
 */
function jsonToString(json){
	return JSON.stringify(json);
}

//换行和换空格
function to_text(str){
	if(str == null)
		return null;
	else
		return str.split("\r\n").join('<br>').split(" ").join('  ');
}
//小写数字转大写金额
function atoc(numberValue){
	var numberValue=new String(Math.round(numberValue*100)); // 数字金额
	var chineseValue=""; // 转换后的汉字金额
	var String1 = "零壹贰叁肆伍陆柒捌玖"; // 汉字数字
	var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; // 对应单位
	var len=numberValue.length; // numberValue 的字符串长度
	var Ch1; // 数字的汉语读法
	var Ch2; // 数字位的汉字读法
	var nZero=0; // 用来计算连续的零值的个数
	var String3; // 指定位置的数值
	if(len>15){
		alert("超出计算范围");
		return "";
	}
	if (numberValue==0){
		chineseValue = "零元整";
		return chineseValue;
	}
	String2 = String2.substr(String2.length-len, len); // 取出对应位数的STRING2的值
	for(var i=0; i<len; i++){
		String3 = parseInt(numberValue.substr(i, 1),10); // 取出需转换的某一位的值
		if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){
			if ( String3 == 0 ){
				Ch1 = "";
				Ch2 = "";
				nZero = nZero + 1;
			}
			else if ( String3 != 0 && nZero != 0 ){
				Ch1 = "零" + String1.substr(String3, 1);
				Ch2 = String2.substr(i, 1);
				nZero = 0;
			}
			else{
				Ch1 = String1.substr(String3, 1);
				Ch2 = String2.substr(i, 1);
				nZero = 0;
			}
		}
		else{ // 该位是万亿,亿,万,元位等关键位
			if( String3 != 0 && nZero != 0 ){
				Ch1 = "零" + String1.substr(String3, 1);
				Ch2 = String2.substr(i, 1);
				nZero = 0;
			}
			else if ( String3 != 0 && nZero == 0 ){
				Ch1 = String1.substr(String3, 1);
				Ch2 = String2.substr(i, 1);
				nZero = 0;
			}
			else if( String3 == 0 && nZero >= 3 ){
				Ch1 = "";
				Ch2 = "";
				nZero = nZero + 1;
			}
			else{
				Ch1 = "";
				Ch2 = String2.substr(i, 1);
				nZero = nZero + 1;
			}
			if( i == (len - 11) || i == (len - 3)){ // 如果该位是亿位或元位,则必须写上
				Ch2 = String2.substr(i, 1);
			}
		}
		chineseValue = chineseValue + Ch1 + Ch2;
	}
	if ( String3 == 0 ){ // 最后一位(分)为0时,加上“整”
		chineseValue = chineseValue + "整";
	}
	return chineseValue;
}


/**字符串数字相加
 * 
 * @param idstr  id的字符串 用,隔开
 */
function numAdd(idstr){
	var ids = idstr.split(",");
	var total = 0;
	for(var i = 0;i<ids.length;i++){
		
		total += Number($("#"+ids[i]).val());
	}
	return total;
}

//验证邮编  οnchange="checkYb(this.id)"   var reg = /^0?1[3|4|5|8][0-9]\d{8}$/;  checkGdDh
function checkYb(object){
	var yb = document.getElementById(object.id).value; 
    var pattern =/^[0-9]{6}$/;
        if(yb!="")
        {
            if(!pattern.exec(yb))
            {
             $.messager.alert('警告','请输入正确的邮政编码!');
             object.value = "";
            }
        }
}

//验证以13,14,15,18开头的    /^0?1[3|4|5|8][0-9]\d{8}$/; 下面验证以1开头的11位数字
function checkMbPhone(object){
	var sjhm = document.getElementById(object.id).value; 
    var pattern =/^0?1[0-9]\d{9}$/;
        if(sjhm!="")
        {
            if(!pattern.exec(sjhm))
            {
             $.messager.alert('警告','请输入正确的手机号码!');
             object.value = "";
            }
        }
}

//电话号码验证  区号(3到4位)-电话号码(7到8位)(分机号(3位)或者以上)
function checkGdDh(object){
	var GdDh = document.getElementById(object.id).value; 
    var pattern = /^((0\d{2,3})-)(\d{7,8})(\((\d{3,})\))?$/;
        if(GdDh!="")
        {
            if(!pattern.exec(GdDh))
            {
             $.messager.alert('警告','请输入正确的电话号码!');
             object.value = "";
            }
        }
}


/**
 * 判断手机号码或固定电话号码(带区号或不带区号)是否符合要求
 * @param value 号码(必须参数)
 */
function isPhone(value){
	try{
		var regBox = {
		    regEmail : /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/,//邮箱
		    regMobile : /^1[3|4|5|7|8][0-9]{9}$/,//手机,以1开头,第二位是3、4、5、7、8,后面是0-9的9位数字,合为11位手机号码正则验证
		    regTel : /^0[\d]{2,3}-[\d]{7,8}$/,    //固定电话,带区号带“-”的固话,以0开头,后跟2,3位数字,区号是3或4位,再加“-”,后面是7或8位的数字号码 
		    regTel2 : /^0[\d]{9,11}$/,    //固定电话,带区号不带“-”的固话,以0开头,后跟2,3位数字,区号是3或4位,后面再跟7或8位的数字号码 
	    	regNoTel : /^[\d]{7,8}$/    //固定电话,不带区号的固话,7或8位的数字号码 
		};
		var mobile = regBox.regMobile.test(value);
		var tel = regBox.regTel.test(value);
		var tel2 = regBox.regTel2.test(value);
		var notel = regBox.regNoTel.test(value);
		if(mobile || tel || tel2 || notel)
			return true;
		else{
			alert("联系号码填写格式不正确,请重新填写!");			
			return false;
		}
	}catch(e){
		
	}
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值