﻿// JavaScript 正则表达式 各种格式检测
//'PosCheck.js 9.20 3:43
function UserCheckEmail(strEmail)  //检测Email  
{
	var strRegulare = '^[\\w_\\-\\.]+?@\\w+?\\-?\\w*?\\-?\\w*?(\\.\\w+)+?$';
	return testRegulare(strRegulare, strEmail);
}

//检测登陆用户名。用户名由4-20位字母，数字或下划线组成
function UserCheckLoginName(strLoginName)
{
	var strRegulare = '^[\\w_]{4,20}$';
	return testRegulare(strRegulare, strLoginName);
}

//检测手机号码
function UserCheckMobTel(strMobileNum)
{
	var strRegulare = '^(0?1\\d{10})$';
	return testRegulare(strRegulare, strMobileNum);
}

//检测电话/传真号码
function UserCheckTel(strTel)
{
	var strRegulare = '(^\\d{3,4}-\\d{7,8}$)|(^\\d{12}$)';	
	return testRegulare(strRegulare, strTel);
}

//检测身份证号码(18或15号数字)
function UserCheckCard(strIdCard)
{
	var strRegulare = '(^\\d{18}$)|(^\\d{15}$)';  /*修正此处错误，18一定要在前*/
	return testRegulare(strRegulare, strIdCard);
}

//检测密码(4~20带下划线)
function UserChekPsd(strPsd)
{
	var strRegulare = '^[\\w_]{4,20}$';
	return testRegulare(strRegulare, strPsd);
}

//检测真实姓名 汉字字母
function UserCheckTrueName(strName)
{
	var strRegulare = '^[\\u4E00-\\u9FAFA-Za-z]+$';
	return testRegulare(strRegulare,strName);
}

//检测字符串 汉字 字母  数字 中划线 下划线但没有特殊字符
function UserCheckStr(str)
{
	var strRegulare = '^[\\u4E00-\\u9FAF\\w\\-]+$';
	return testRegulare(strRegulare, str);
}
//检测特殊字符
function IsCheckSpeStr(str,strSpe)
{
	var strRegulare=strSpe;
	return testRegularei(strRegulare, str);
}

function testRegulare(strRegulare, strTest)
{
	var objRegexp = eval('/' + strRegulare + '/');
	return objRegexp.test(strTest);
}
//忽略大小写匹配
function testRegularei(strRegulare,strTest)
{
	var objRegexp=eval('/'+strRegulare+'/i');
	return objRegexp.test(strTest);
	
}
//有特殊字符(不区分大小写)返回false,没有返回true
function CheckSpeStr(str)
{
	var strSpe='www|com|qq|cn|net'; //要检测的特殊字符
	strSpe=strSpe.split('|');
	var strSpeLen=strSpe.length;
	var Bl=true;
	for(var i=0;i<strSpeLen;i++)
	{
		if(IsCheckSpeStr(str,strSpe[i]))
		{
			Bl=false;
			break;
		}
	}
	return Bl;
}
//检测是否为数字
function IsNumber(strNum)
{
	var strRegulare='^\\d+$';
	return testRegulare(strRegulare, strNum);
}

//检测是否为数字并在一个数字(strLen)范围内
//正确返回true出错返回false
function IsNumberLen(strNum,strLen)
{
	if(IsNumber(strNum))
	{
		if(strNum.getIntLeng()>strLen)
		{
			return false;
		}else{
			return true;
		}
	}else{
		return false
	}
}

//检测字符长度是否在一两个数中间，是就返回true不是返回false或传入字符不是数字也返回false
function IsTwoNumberLen(strNum,strMinLen,strMaxLen)
{
	if(IsNumber(strNum))
	{
		if(strNum.getIntLeng()<strMinLen || strNum.getIntLeng()>strMaxLen)
		{
			return false;
		}else{
			return true;
		}
	}else{
		return false
	}
}
//检查字符串是否在某两个数中间，不检测特殊字符
function IsStrLen(Str,StrMinLen,StrMaxLen)
{
	if(Str.getIntLeng()<StrMinLen || Str.getIntLeng()>StrMaxLen)
	{
		return false;
	}else{
		return true;
	}
}

//检查字符串长度是否在两个数中间,在中间返回true,不在返回false或字符串不符合要求也返回false
function IsTwoStrLen(Str,StrMinLen,StrMaxLen)
{
	if(UserCheckStr(Str))
	{
		if(Str.getIntLeng()<StrMinLen || Str.getIntLeng()>StrMaxLen)
		{
			return false;
		}else{
			return true;
		}
	}else{
		return false;
	}
}




