javascript正则表达式验证邮箱数字等.docx
《javascript正则表达式验证邮箱数字等.docx》由会员分享,可在线阅读,更多相关《javascript正则表达式验证邮箱数字等.docx(32页珍藏版)》请在冰豆网上搜索。
javascript正则表达式验证邮箱数字等
/**
*@authorGongziqian
*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-ddHH:
mm:
ss,yyyy/MM/ddHH:
mm:
ss,yyyyMMddHHmmss|
+-----------------------+---------------------------------------+-------------------------------------------------------+
|double(len,prc)|f_check_double(obj)|带长度和精度的数字|
+-----------------------+---------------------------------------+-------------------------------------------------------+
|interval(min,max)|f_check_interval(obj)|在某区间内的数字,"-"代表负无穷,"+"代表正无穷。
|
+-----------------------+---------------------------------------+-------------------------------------------------------+
||checkIntervalObjs(obj1,obj2)|校验2个表单域中的值是否满足obj1小于obj2|
+-----------------------+---------------------------------------+-------------------------------------------------------+
*/
/**
*取得字符串的字节长度
*/
functionstrlen(str)
{
vari;
varlen;
len=0;
for(i=0;i{
if(str.charCodeAt(i)>255)len+=2;elselen++;
}
returnlen;
}
/*
*判断是否为数字,是则返回true,否则返回false
*/
functionf_check_number(obj)
{
if(/^\d+$/.test(obj.value))
{
returntrue;
}
else
{
f_alert(obj,"请输入数字");
returnfalse;
}
}
/*
*判断是否为自然数,是则返回true,否则返回false
*/
functionf_check_naturalnumber(obj)
{
vars=obj.value;
if(/^[0-9]+$/.test(s)&&(s>0))
{
returntrue;
}
else
{
f_alert(obj,"请输入自然数");
returnfalse;
}
}
/*
*判断是否为整数,是则返回true,否则返回false
*/
functionf_check_integer(obj)
{
if(/^(\+|-)?
\d+$/.test(obj.value))
{
returntrue;
}
else
{
f_alert(obj,"请输入整数");
returnfalse;
}
}
/*
*判断是否为实数,是则返回true,否则返回false
*/
functionf_check_float(obj)
{
if(/^(\+|-)?
\d+($|\.\d+$)/.test(obj.value))
{
returntrue;
}
else
{
f_alert(obj,"请输入实数");
returnfalse;
}
}
/*
*校验数字的长度和精度
*/
functionf_check_double(obj){
varnumReg;
varvalue=obj.value;
if(Trim(value).length!
=0){
if(!
f_check_float(obj))return;
}
varstrValueTemp,strInt,strDec;
vardtype=obj.eos_datatype;
varpos_dtype=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
varlen=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,"输入必须为整数类型");
returnfalse;
}
}
if(strValueTemp.indexOf(".")<0){
if(strValueTemp.length>(len-prec)){
f_alert(obj,"整数位不能超过"+(len-prec)+"位");
returnfalse;
}
}else{
strInt=strValueTemp.substr(0,strValueTemp.indexOf("."));
if(strInt.length>(len-prec)){
f_alert(obj,"整数位不能超过"+(len-prec)+"位");
returnfalse;
}
strDec=strValueTemp.substr((strValueTemp.indexOf(".")+1),strValueTemp.length);
if(strDec.length>prec){
f_alert(obj,"小数位不能超过"+prec+"位");
returnfalse;
}
}
returntrue;
}catch(e){
alert("inf_check_double="+e);
returnfalse;
}
}
/*
*校验数字的最小最大值
*返回bool
*/
functionf_check_interval(obj)
{
varvalue=parseFloat(obj.value);
vardtype=obj.eos_datatype;
varpos_dtype=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
varminLimit=pos_dtype[0];
varmaxLimit=pos_dtype[1];
varminVal=parseFloat(pos_dtype[0]);
varmaxVal=parseFloat(pos_dtype[1]);
if(isNaN(value))
{
f_alert(obj,"值必须为数字");
returnfalse;
}
if((isNaN(minVal)&&(minLimit!
="-"))||(isNaN(maxVal)&&(maxLimit!
="+")))
{
f_alert(obj,"边界值必须为数字或-、+");
returnfalse;
}
if(minLimit=="-"&&!
isNaN(maxVal))
{
if(value>maxVal)
{
f_alert(obj,"值不能超过"+maxVal);
returnfalse;
}
}
if(!
isNaN(minVal)&&maxLimit=="+")
{
if(value{
f_alert(obj,"值不能小于"+minVal);
returnfalse;
}
}
if(!
isNaN(minVal)&&!
isNaN(maxVal))
{
if(minVal>maxVal)
{
f_alert(obj,"起始值"+minVal+"不能大于终止值"+maxVal);
}else
{
if(!
(value<=maxVal&&value>=minVal))
{
f_alert(obj,"值应该在"+minVal+"和"+maxVal+"之间");
returnfalse;
}
}
}
returntrue;
}
/*
用途:
检查输入字符串是否只由汉字组成
如果通过验证返回true,否则返回false
*/
functionf_check_zh(obj){
if(/^[\u4e00-\u9fa5]+$/.test(obj.value)){
returntrue;
}
f_alert(obj,"请输入汉字");
returnfalse;
}
/*
*判断是否为小写英文字母,是则返回true,否则返回false
*/
functionf_check_lowercase(obj)
{
if(/^[a-z]+$/.test(obj.value))
{
returntrue;
}
f_alert(obj,"请输入小写英文字母");
returnfalse;
}
/*
*判断是否为大写英文字母,是则返回true,否则返回false
*/
functionf_check_uppercase(obj)
{
if(/^[A-Z]+$/.test(obj.value))
{
returntrue;
}
f_alert(obj,"请输入大写英文字母");
returnfalse;
}
/*
*判断是否为英文字母,是则返回true,否则返回false
*/
functionf_check_letter(obj)
{
if(/^[A-Za-z]+$/.test(obj.value))
{
returntrue;
}
f_alert(obj,"请输入英文字母");
returnfalse;
}
/*
用途:
检查输入字符串是否只由汉字、字母、数字组成
输入:
value:
字符串
返回:
如果通过验证返回true,否则返回false
*/
functionf_check_ZhOrNumOrLett(obj){//判断是否是汉字、字母、数字组成
varregu="^[0-9a-zA-Z\u4e00-\u9fa5]+$";
varre=newRegExp(regu);
if(re.test(obj.value)){
returntrue;
}
f_alert(obj,"请输入汉字、字母或数字");
returnfalse;
}
/*
用途:
校验ip地址的格式
输入:
strIP:
ip地址
返回:
如果通过验证返回true,否则返回false;
*/
functionf_check_IP(obj)
{
varre=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;//匹配IP地址的正则表达式
if(re.test(obj.value))
{
if(RegExp.$1<256&&RegExp.$2<256&&RegExp.$3<256&&RegExp.$4<256)returntrue;
}
f_alert(obj,"请输入合法的计算机IP地址");
returnfalse;
}
/*
用途:
检查输入对象的值是否符合端口号格式
输入:
str输入的字符串
返回:
如果通过验证返回true,否则返回false
*/
functionf_check_