<%--<script language="javascript" type="text/javascript">
/****************************************
* 函数名称:IsDate
* 功能说明:构造函数
* 参 数:sDate:日期字符串
* 调用示列:
* string sDate="2008-10-28";
* IsDate(sDate);
*****************************************/
/// <summary>
/// 判断是否是日期
/// </summary>
/// <param name="sDate">日期字符串</param>
/// <returns>返回是否(bool)</returns>
function IsDate(sDate)
{
var sRegex= /^(\d{4})-(\d{2})-(\d{2})$/;
var bResult = sDate.match(reg);
if(bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsNullEmpty
* 功能说明:判断字符串是否为空
* 参 数:str:空字符串
* 调用示列:
* string str="";
* IsNullEmpty(str);
*****************************************/
/// <summary>
/// 判断字符串是否为空
/// </summary>
/// <param name="sNullOrEmpty">空字符串</param>
/// <returns>返回是否(bool)</returns>
function IsNullEmpty(sNullOrEmpty)
{
if (sNullOrEmpty.length==''||sNullOrEmpty.length<=0)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsCurrent
* 功能说明:判断是否是货币
* 参 数:sCurrent:货币字符串
* 调用示列:
* string sCurrent="88888.00";
* IsCurrent(sCurrent);
*****************************************/
/// <summary>
/// 判断是否是货币
/// </summary>
/// <param name="sCurrent">货币字符串</param>
/// <returns>返回是否(bool)</returns>
function IsCurrent(sCurrent)
{
var bResult1=sCurrent.match("[^0-9.-]");
var bResult2=sCurrent.match("[[0-9]*[.][0-9]*[.][0-9]*");
var bResult3=sCurrent.match("[[0-9]*[-][0-9]*[-][0-9]");
var bResult4=sCurrent.match("(^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$)|(^([-]|[0-9])[0-9]*$)");
if (bResult1!=null||bResult2!=null||bResult3!=null||bResult4==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsNumeric
* 功能说明:判断是否是数字
* 参 数:sNum:数字字符串
* 调用示列:
* string sNum="88888";
* IsNumeric(sNum);
*****************************************/
/// <summary>
/// 判断是否是数字
/// </summary>
/// <param name="sNum">数字字符串</param>
/// <returns>返回是否(bool)</returns>
function IsNumeric(sNum)
{
var bResult=sNum.match("^(-|\\+)?\\d+(\\.\\d+)?$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsUrl
* 功能说明:判断是否是URL
* 参 数:sUrl:URL字符串
* 调用示列:
* string sUrl="http:\\www.sina.com.cn";
* IsUrl(sUrl);
*****************************************/
/// <summary>
/// 判断是否是URL
/// </summary>
/// <param name="sUrl">URL字符串</param>
/// <returns>返回是否(bool)</returns>
function IsUrl(sUrl)
{
var bResult=sUrl.match("http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsMail
* 功能说明:判断是否是MAILL
* 参 数:sMail:MAIL字符串
* 调用示列:
* string sMail="olivier@hdtworld.com";
* IsMail(sMail);
*****************************************/
/// <summary>
/// 判断是否是MAIL
/// </summary>
/// <param name="sMail">MAIL字符串</param>
/// <returns>返回是否(bool)</returns>
function IsMail(sMail)
{
var bResult=sMail.match("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsPostCode
* 功能说明:判断是否是邮编
* 参 数:sPostCode:邮编字符串
* 调用示列:
* string sPostCode="200001";
* IsPostCode(sPostCode);
*****************************************/
/// <summary>
/// 判断是否是邮编
/// </summary>
/// <param name="sPostCode">邮编字符串</param>
/// <returns>返回是否(bool)</returns>
function IsPostCode(sPostCode)
{
var bResult=sPostCode.match("^\\d{6}$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsTelephone
* 功能说明:判断是否是电话号码
* 参 数:sTelephone:电话号码字符串
* 调用示列:
* string sTelephone="66660000";
* IsTelephone(sTelephone);
*****************************************/
/// <summary>
/// 判断是否是电话号码
/// </summary>
/// <param name="sTelephone">电话号码字符串</param>
/// <returns>返回是否(bool)</returns>
function IsTelephone(sTelephone)
{
var bResult=sTelephone.match("^(\\(\\d{3}\\)|\\d{3}-)?\\d{8}$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsMobile
* 功能说明:判断是否是手机号码
* 参 数:sMobile:手机号码字符串
* 调用示列:
* string sMobile="1381101101101";
* IsMobile(sMobile);
*****************************************/
/// <summary>
/// 判断是否是手机号码
/// </summary>
/// <param name="sMobile">手机号码字符串</param>
/// <returns>返回是否(bool)</returns>
function IsMobile(sMobile)
{
var bResult=sMobile.match("^\\d{11}$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsIDCard
* 功能说明:判断是否身份证
* 参 数:sIDCard:身份证字符串
* 调用示列:
* string sIDCard="310106198210054xxx";
* IsIDCard(sIDCard);
*****************************************/
/// <summary>
/// 判断是否是数字
/// </summary>
/// <param name="sSimNum">数字字符串</param>
/// <returns>返回是否(bool)</returns>
function IsIDCard(sIDCard)
{
var bResult=sIDCard.match("^\\d{15}|\\d{18}$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:IsCE
* 功能说明:判断是中英表达式
* 参 数:sCE:中英文表达式字符串
* 调用示列:
* string sCE="HDT互动通";
* IsCE(sCE);
*****************************************/
/// <summary>
/// 判断是中英表达式
/// </summary>
/// <param name="sCE">中英文表达式字符串</param>
/// <returns>返回是否(bool)</returns>
function IsCE(sCE)
{
var bResult=sCE.match("^[a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 密码强度等级
/// </summary>
var pwdLevel;
/// <summary>
/// 密码中是否有字母
/// </summary>
var hasLetter;
/// <summary>
/// 密码中是否有大小写字母
/// </summary>
var hasULLetter;
/// <summary>
/// 密码中是否有数字
/// </summary>
var hasNumeric;
/// <summary>
/// 密码中是否有符号
/// </summary>
var hasSymbol;
/****************************************
* 函数名称:IsPasswordLevel
* 功能说明:判断密码强度
* 参 数:sPassword:密码字符串
* 调用示列:
* string sPassword="abc123-_";
* IsPasswordLevel(sPassword);
*****************************************/
/// <summary>
/// 判断密码强度
/// </summary>
/// <param name="sPassword">密码字符串</param>
/// <returns>返回强度等级(string)</returns>
function IsPasswordLevel(sPassword)
{
pwdLevel = 0;
if (sPassword == "" || sPassword == null)
{
return "空密码";
}
else
{
//判断密码长度
JugePwdLength(sPassword);
//判断字母
JugePwdLetter(sPassword);
//判断数字
JugePwdNumeric(sPassword);
//判断符号
JugeSymbol(sPassword);
//判断奖励
JugeAward();
//判断密码级别
//>= 90: 非常安全
//>= 80: 安全(Secure)
//>= 70: 非常强
//>= 60: 强(Strong)
//>= 50: 一般(Average)
//>= 25: 弱(Weak)
//>= 0: 非常弱
if (pwdLevel > 0)
{
if (pwdLevel > 25)
{
if (pwdLevel > 50)
{
if (pwdLevel > 60)
{
if (pwdLevel > 70)
{
if (pwdLevel > 80)
{
if (pwdLevel > 90)
{
return "非常安全";
}
else
{
return "安全";
}
}
else
{
return "非常强";
}
}
else
{
return "强";
}
}
else
{
return "一般";
}
}
else
{
return "弱";
}
}
else
{
return "非常弱";
}
}
return "极其弱";
}
}
/****************************************
* 函数名称:JugePwdlength
* 功能说明:判断密码字符串长度
* 参 数:str:字符串
* 调用示列:
* string str="abc123-_";
* JugePwdlength(str);
*****************************************/
/// <summary>
/// 判断密码字符串长度
/// </summary>
/// <param name="slength">密码字符串</param>
function JugePwdLength(sLength)
{
var length = sLength.length;
if (length <= 4)
{
pwdLevel += 5;
}
else
{
if (length <= 7)
{
pwdLevel += 10;
}
else
{
pwdLevel += 20;
}
}
}
/****************************************
* 函数名称:JugePwdLetter
* 功能说明:判断密码强度是否有字符
* 参 数:str:字符串
* 调用示列:
* string str="abc123-_";
* JugePwdLetter(str);
*****************************************/
/// <summary>
/// 判断密码强度是否有字符
/// </summary>
/// <param name="sLetter">密码字符串</param>
function JugePwdLetter(sLetter)
{
//0 分: 没有字母
//10 分: 全都是小(大)写字母
//20 分: 大小写混合字母
//判断是否有字母
var count = 0;
var othercount = 0;
var bLower=false, bUpper=false;
for (var i = 0; i <= sLetter.length - 1; i++)
{
//大小写字母的KEYCODE 65-90
if((sLetter.charCodeAt(i)>=65)&&(sLetter.charCodeAt(0)<=90))
{
count += 1;
}
//判断字符是否有大小写
if (sLetter.substr(i,1).match("[A-Z]"))
{
bUpper = true;
}
//判断字符是否有大小写
if (sLetter.substr(i,1).match("[a-z]"))
{
bLower = true;
}
}
if (count == 0)
{
pwdLevel += 0;
}
else
{
hasLetter = true;
if (bLower && bUpper)
{
pwdLevel += 20;
}
else
{
pwdLevel += 10;
}
};
}
/****************************************
* 函数名称:JugePwdNumeric
* 功能说明:判断密码强度是否有数字
* 参 数:str:密码字符串
* 调用示列:
* string str="abc123-_";
* JugePwdNumeric(str);
*****************************************/
/// <summary>
/// 判断密码强度是否有数字
/// </summary>
/// <param name="str">密码字符串</param>
function JugePwdNumeric(sNum)
{
//三、数字:
//0 分: 没有数字
//10 分: 1 个数字
//20 分: 大于等于 3 个数字
var count = 0;
for (var i = 0; i <= sNum.length - 1; i++)
{
//数字的KEYCODE 96-105
if((sNum.charCodeAt(i)>=96)&&(sNum.charCodeAt(0)<=105))
{
count += 1;
}
}
if (count == 0)
{
pwdLevel += 0;
}
else
{
hasNumeric = true;
if (count < 3)
{
pwdLevel += 10;
}
else
{
pwdLevel += 20;
}
}
}
/****************************************
* 函数名称:JugeAward
* 功能说明:判断密码强度奖励
* 参 数:
* 调用示列:
* JugeAward();
*****************************************/
/// <summary>
/// 判断密码强度奖励
function JugeAward()
{
//五、奖励:
//2 分: 字母和数字
//3 分: 字母、数字和符号
//5 分: 大小写字母、数字和符号
if (hasLetter && hasNumeric)
{
if (hasSymbol)
{
if (hasULLetter)
{
pwdLevel += 5;
}
else
{
pwdLevel += 3;
}
}
else
{
pwdLevel += 2;
}
}
}
/****************************************
* 函数名称:JugeAward
* 功能说明:判断特定的符号
* 参 数:str:密码字符串
* 调用示列:
* string str="abc123-_";
* IsSymbol(str);
*****************************************/
/// <summary>
/// 判断特定的符号
/// </summary>
/// <param name="str">密码字符串</param>
/// <returns>返回是否(bool)</returns>
function IsSymbol(str)
{
var bResult=str.match("[_]|[-]|[#]");
if (bResult==null)
{
return false;
}
else
{
return true;
}
}
/****************************************
* 函数名称:JugeSymbol
* 功能说明:判断是密码强度否有符号
* 参 数:str:密码字符串
* 调用示列:
* string str="abc123-_";
* JugeSymbol(str);
*****************************************/
/// <summary>
/// 判断是密码强度否有符号
/// </summary>
/// <param name="str">密码字符串</param>
function JugeSymbol(sSymbol)
{
//四、符号:
//0 分: 没有符号
//10 分: 1 个符号
//25 分: 大于 1 个符号
var count = 0;
var tmpstr = "";
for (var i = 0; i <= sSymbol.length - 1; i++)
{
tmpstr = sSymbol.substr(i, 1);
if (IsSymbol(tmpstr))
{
count += 1;
}
}
if (count == 0)
{
pwdLevel += 0;
}
else
{
hasSymbol = true;
if (count > 1)
{
pwdLevel += 25;
}
else
{
pwdLevel += 10;
}
}
}
</script>
--%>
js常用判断函数
最新推荐文章于 2023-02-26 11:21:11 发布