js常用判断函数
来源:互联网 发布:板式家具数控编程教程 编辑:程序博客网 时间:2024/05/17 20:24
<%--<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>--%>