当前位置:文档之家› javascript正则表达式验证邮箱数字等

javascript正则表达式验证邮箱数字等

/***@author Gongziqian*QQ:812599742*//*** 目前所支持的校验类型有:+-----------------------+---------------------------------------+-------------------------------------------------------+| 类型| 校验函数| 描述|+-----------------------+---------------------------------------+-------------------------------------------------------+|number |f_check_number(obj) |数字|+-----------------------+---------------------------------------+-------------------------------------------------------+|naturalnumber |f_check_naturalnumber(obj) |自然数|+-----------------------+---------------------------------------+-------------------------------------------------------+|integer |f_check_integer(obj) |整数|+-----------------------+---------------------------------------+-------------------------------------------------------+|float |f_check_float(obj) |实数|+-----------------------+---------------------------------------+-------------------------------------------------------+|zh |f_check_zh(obj) |汉字|+-----------------------+---------------------------------------+-------------------------------------------------------+|lowercase |f_check_lowercase(obj) |小写英文字母|+-----------------------+---------------------------------------+-------------------------------------------------------+|uppercase |f_check_uppercase(obj) |大写英文字母|+-----------------------+---------------------------------------+-------------------------------------------------------+|letter |f_check_letter(obj) |英文字母|+-----------------------+---------------------------------------+-------------------------------------------------------+|ZhOrNumOrLett |f_check_ZhOrNumOrLett(obj) |汉字、字母、数字组成的字符串|+-----------------------+---------------------------------------+-------------------------------------------------------+|IP |f_check_IP(obj) |计算机的IP地址|+-----------------------+---------------------------------------+-------------------------------------------------------+|port |f_check_port(obj) |计算机的IP地址的端口号|+-----------------------+---------------------------------------+-------------------------------------------------------+|URL |f_check_URL(obj) |网页地址|+-----------------------+---------------------------------------+-------------------------------------------------------+|email |f_check_email(obj) |电子邮件地址|+-----------------------+---------------------------------------+-------------------------------------------------------+|mobile |f_check_mobile(obj) |移动电话号码|+-----------------------+---------------------------------------+-------------------------------------------------------+|phone |f_check_phone(obj) |电话号码|+-----------------------+---------------------------------------+-------------------------------------------------------+|zipcode |f_check_zipcode(obj) |邮政编码|+-----------------------+---------------------------------------+-------------------------------------------------------+|userID |f_check_userID(obj) |用户ID,可以为数字、字母、下划线的组合,第一个字符不能为数字, || | |且总长度不能超过20。

|+-----------------------+---------------------------------------+-------------------------------------------------------+|IDno |f_check_IDno(obj) |身份证|+-----------------------+---------------------------------------+-------------------------------------------------------+|formatStr(reg) |f_check_formatStr(obj) |符合某正则表达式的字符串。

指定的字符串中不要包含"//",也不需要引号. |+-----------------------+---------------------------------------+-------------------------------------------------------+|date(yyyyMMdd) |f_check_date(obj) |指定格式的日期数据,目前支持yyyy年MM月dd日,yyyy-MM-dd, || ||yyyy/MM/dd,yyyyMMdd |+-----------------------+---------------------------------------+-------------------------------------------------------+|time(yyyyMMddHHmmss) |f_check_time(obj) |指定格式的时间数据,目前支持yyyy年MM月dd日HH时mm分ss秒,|| | |yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyyMMddHHmmss |+-----------------------+---------------------------------------+-------------------------------------------------------+|double(len,prc) |f_check_double(obj) |带长度和精度的数字|+-----------------------+---------------------------------------+-------------------------------------------------------+|interval(min,max) |f_check_interval(obj) |在某区间内的数字,"-"代表负无穷,"+"代表正无穷。

|+-----------------------+---------------------------------------+-------------------------------------------------------+| |checkIntervalObjs(obj1 , obj2) |校验2个表单域中的值是否满足obj1小于obj2 |+-----------------------+---------------------------------------+-------------------------------------------------------+*//*** 取得字符串的字节长度*/function strlen(str){var i;var len;len = 0;for (i=0;i<str.length;i++){if (str.charCodeAt(i)>255) len+=2; else len++;}return len;}/** 判断是否为数字,是则返回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 f_check_double(obj){var numReg;var value = obj.value;if(Trim(value).length != 0){if(!f_check_float(obj)) return;}var strValueTemp, strInt, strDec;var dtype = obj.eos_datatype;var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");var len = pos_dtype[0], prec = pos_dtype[1];try{numReg =/[\-]/;strValueTemp = value.replace(numReg, "");numReg =/[\+]/;strValueTemp = strValueTemp.replace(numReg, "");//整数if(prec==0){numReg =/[\.]/;if(numReg.test(value) == true){f_alert(obj, "输入必须为整数类型");return false;}}if(strValueTemp.indexOf(".") < 0 ){if(strValueTemp.length >( len - prec)){f_alert(obj, "整数位不能超过"+ (len - prec) +"位");return false;}}else{strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );if(strInt.length >( len - prec)){f_alert(obj, "整数位不能超过"+ (len - prec) +"位");return false;}strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );if(strDec.length > prec){f_alert(obj, "小数位不能超过"+ prec +"位");return false;}}return true;}catch(e){alert("in f_check_double = " + e);return false;}}/** 校验数字的最小最大值* 返回bool*/function f_check_interval(obj){var value = parseFloat(obj.value);var dtype = obj.eos_datatype;var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");var minLimit = pos_dtype[0];var maxLimit = pos_dtype[1];var minVal = parseFloat(pos_dtype[0]);var maxVal = parseFloat(pos_dtype[1]);if(isNaN(value)){f_alert(obj, "值必须为数字");return false;}if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+"))) {f_alert(obj, "边界值必须为数字或-、+");return false;}if(minLimit == "-" && !isNaN(maxVal)){if(value > maxVal){f_alert(obj, "值不能超过" + maxVal);return false;}}if(!isNaN(minVal) && maxLimit == "+"){if(value < minVal){f_alert(obj, "值不能小于" + minVal);return false;}}if(!isNaN(minVal) && !isNaN(maxVal)){if(minVal > maxVal){f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);}else{if(!(value <= maxVal && value >= minVal)){f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");return false;}}}return true;}/*用途:检查输入字符串是否只由汉字组成如果通过验证返回true,否则返回false*/function f_check_zh(obj){if (/^[\u4e00-\u9fa5]+$/.test(obj.value)) {return true;}f_alert(obj,"请输入汉字");return false;}/** 判断是否为小写英文字母,是则返回true,否则返回false */function f_check_lowercase(obj){if (/^[a-z]+$/.test( obj.value )){return true;}f_alert(obj,"请输入小写英文字母");return false;}/** 判断是否为大写英文字母,是则返回true,否则返回false */function f_check_uppercase(obj){if (/^[A-Z]+$/.test( obj.value )){return true;}f_alert(obj,"请输入大写英文字母");return false;}/** 判断是否为英文字母,是则返回true,否则返回falsefunction f_check_letter(obj){if (/^[A-Za-z]+$/.test( obj.value )){return true;}f_alert(obj,"请输入英文字母");return false;}/*用途:检查输入字符串是否只由汉字、字母、数字组成输入:value:字符串返回:如果通过验证返回true,否则返回false*/function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";var re = new RegExp(regu);if (re.test( obj.value )) {return true;}f_alert(obj,"请输入汉字、字母或数字");return false;}/*用途:校验ip地址的格式输入:strIP:ip地址返回:如果通过验证返回true,否则返回false;*/function f_check_IP(obj){var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式if(re.test( obj.value )){if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;}f_alert(obj,"请输入合法的计算机IP地址");return false;}/*用途:检查输入对象的值是否符合端口号格式输入:str 输入的字符串返回:如果通过验证返回true,否则返回false*/function f_check_port(obj){if(!f_check_number(obj))return false;if(obj.value < 65536)return true;f_alert(obj,"请输入合法的计算机IP地址端口号");return false;}/*用途:检查输入对象的值是否符合网址格式输入:str 输入的字符串返回:如果通过验证返回true,否则返回false*/function f_check_URL(obj){var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;if(myReg.test( obj.value )) return true;f_alert(obj,"请输入合法的网页地址");return false;}/*用途:检查输入对象的值是否符合E-Mail格式输入:str 输入的字符串返回:如果通过验证返回true,否则返回false*/function f_check_email(obj){var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;if(myReg.test( obj.value )) return true;f_alert(obj,"请输入合法的电子邮件地址");return false;}/*要求:一、移动电话号码为11或12位,如果为12位,那么第一位为0二、11位移动电话号码的第一位和第二位为"13"三、12位移动电话号码的第二位和第三位为"13"用途:检查输入手机号码是否正确输入:s:字符串返回:如果通过验证返回true,否则返回false*/function f_check_mobile(obj){var regu =/(^[1][3-5][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;var re = new RegExp(regu);if (re.test( obj.value )) {return true;}f_alert(obj,"请输入正确的手机号码");return false;}/*要求:一、电话号码由数字、"("、")"和"-"构成二、电话号码为3到8位三、如果电话号码中包含有区号,那么区号为三位或四位四、区号用"("、")"或"-"和其他部分隔开用途:检查输入的电话号码格式是否正确输入:strPhone:字符串返回:如果通过验证返回true,否则返回false*/function f_check_phone(obj){var regu =/(^([0][1-9]{2,3}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0][1-9]{2,3}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/;var re = new RegExp(regu);if (re.test( obj.value )) {return true;}f_alert(obj,"请输入正确的电话号码");return false;}/* 判断是否为邮政编码*/function f_check_zipcode(obj){if(!f_check_number(obj))return false;if(obj.value.length!=6){f_alert(obj,"邮政编码长度必须是6位");return false;}return true;}/*用户ID,可以为数字、字母、下划线的组合,第一个字符不能为数字,且总长度不能超过20。

相关主题