javascript验证

/*

        1.是否以某字符串结尾     endsWith(theStr,endStr)
        @param theStr:要判断的字符串
        @param endStr:以此字符串结尾
        @return boolean;
*/
function endsWith(theStr,endStr)
{
        var theStrLength=theStr.length;
        var endStrLength=endStr.length;
        var theStrEnd=theStr.substring(theStrLength-endStrLength,theStrLength);
        if (theStrEnd==endStr)
                return true;
        else
                return false;
}
/*

        1.是否以某字符串开始     startsWith(theStr,endStr)
        @param theStr:要判断的字符串
        @param endStr:以此字符串结尾
        @return boolean;
*/
function startsWith(theStr,startStr)
{
        var theStrLength=theStr.length;
        var startStrLength=startStr.length;
        var theStrStart=theStr.substring(0,startStrLength);
        if (theStrStart==startStr)
                return true;
        else
                return false;
}
/*
        2.是否是整数
        @param str:要判断的字符串
        @param bEmpty:如果str为空返回此值
*/
function isInt(str,bEmpty)
{
        if(str==null||trim(str)=="")
        {
                return bEmpty;
        }      

         if(trim(str) == "0")
         {
          return false;
         }

        var ch = str.substring(0,1);

        if (ch == "0" && trim(str) != "0")
        {
                return false;
        }

        for (var i=0; i<str.length ; i++)
        {
                var s = str.substring(i, i+1);
                if (!(s >= "0" && s <="9"))
                {
                        return false;
                }
        }
        return true;
}
/*
        3、裁减字符串空格
        @param Str:要裁减的字符串
        @param Flag:方向,输入l或L裁减左边空格;输入r或R裁减右边空格;否则裁减两边空格
*/
function trim(Str , Flag)
{

        Str     = ""+Str;
        if( Flag == "l" || Flag == "L" )/*trim left side only*/
        {
                RegularExp      = /^\s+/gi;
                return Str.replace( RegularExp,"" );
        }
        else if( Flag == "r" || Flag == "R" )/*trim right side only*/
        {
                RegularExp      = /\s+$/gi;
                return Str.replace( RegularExp,"" );
        }
        else/*defautly, trim both left and right side*/
        {
                RegularExp      = /^\s+|\s+$/gi;
                return Str.replace( RegularExp,"" );
        }
}
/*
        4、是否是浮点数
        @param checkstr:要判断的字符串
        @param bEmpty:如果checkstr为空时返回的值
        @param tcount:小数点位数
*/
function isFloat(checkstr, bEmpty, tcount)
{
        if(checkstr==null||trim(checkstr)=="")
        {
                return bEmpty;
        }      

        var str = trim(checkstr);
        if(str.substring(0,1)==".")
        {
                return false;
        }
        var temp=0;
        for(var i=0;i<str.length;i++)
        {
                var ch=str.substring(i,i+1);
                if(!((ch>="0" && ch<="9") || ch=="."))
                {
                        return false;
                }
                if(ch==".")
                        temp++;
                if(temp>1)
                {
                        return false;
                }
        }      

        if(tcount != null && tcount > 0)
        {
                if(str.indexOf(".") != -1 && str.length - (str.indexOf(".")+1) > tcount)
                {
                        return false;
                }
        }

        var start1 = checkstr.substring(0,1);
        var start2 = checkstr.substring(1,2);
        if(start1 == 0 && start2!=".")
        {
            for(var i=0;i<str.length;i++)
            {
             var ch=str.substring(i,i+1);
             if (ch==0)
             temp++;
             }
           if (temp == str.length)
            {
              return true;
            }
            return false;
          }
        return true;
}
/*
        5、是否所有字符为数字类型
        @param str:要判断的字符串
        @param bEmpty:str为空时返回此值
*/
function isNumber(str,bEmpty)
{
        if(str==null||trim(str)=="")
        {
                return bEmpty;
        }

        for (var i=0; i<str.length ; i++)
        {
                var s = str.substring(i, i+1);
                if (!(s >= "0" && s <="9"))
                {
                        return false;
                }
        }
        return true;
}
/*
         6、是否为空
         @param str:要判断的字符串
*/
function isNull(str)
{
        if (str == null || trim(str) == "")
        {
                return true;
        }
        return false;
}

/*
        8、是否是EMAIL
        @param str:要判断的字符串
        @param bEmpty:str为空时返回此值
*/
function isEmail(str,bEmpty){
        if (str == null || trim(str) == "")
        {
                return bEmpty;
        }

    //校验邮件的正则表达式,包括[email protected] 和 [email protected]的形式

    var pattern1 = /^(([\u4E00-\u9FA5]|[\uFE30-\uFEFF]|[\d]|[a-zA-Z]|[\_\-\.])+[\@])(((([\d]|[a-zA-Z]|[\_\-]|[\[\]\{\}\>\<])+[\.])+)([\d]|[a-zA-Z\_\-])+)$/;
            if(str.match(pattern1) )
                        return true;
        return false;
}
/*
         9、是否是电话号码
        @param str:要判断的字符串
        @param bEmpty:str为空时返回此值
*/
function isTel(str,bEmpty)
{
        if(str==null||trim(str)=="")
                return bEmpty;          

    var str     = trim(str);
        var myphone = /^[\-0-9+()\/]{1,32}$/;
        if(myphone.test(str)) return true;

        return false;
}
//--身份证号码验证-支持新的带x身份证
 function isIdCardNo(num)
 {
     var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
     var error;
     var varArray = new Array();
     var intValue;
     var lngProduct = 0;
     var intCheckDigit;
     var intStrLen = num.length;
     var idNumber = num;
     var checkDate = function(date) {
       return true;
     }

     // initialize
     if ((intStrLen != 15) && (intStrLen != 18)) {
         //error = "输入身份证号码长度不对!";
         //alert(error);
         //frmAddUser.txtIDCard.focus();
         return false;
     }
     // check and set value
     for(i=0;i<intStrLen;i++) {
         varArray[i] = idNumber.charAt(i);
         if ((varArray[i] < ‘0‘ || varArray[i] > ‘9‘) && (i != 17)) {
             //error = "错误的身份证号码!.";
             //alert(error);
             //frmAddUser.txtIDCard.focus();
             return false;
         } else if (i < 17) {
             varArray[i] = varArray[i]*factorArr[i];
         }
     }
     if (intStrLen == 18) {
         //check date
         var date8 = idNumber.substring(6,14);
         if (checkDate(date8) == false) {
             //error = "身份证中日期信息不正确!.";
             //alert(error);
             return false;
         }
         // calculate the sum of the products
         for(i=0;i<17;i++) {
             lngProduct = lngProduct + varArray[i];
         }
         // calculate the check digit
         intCheckDigit = 12 - lngProduct % 11;
         switch (intCheckDigit) {
             case 10:
                 intCheckDigit = ‘X‘;
                 break;
             case 11:
                 intCheckDigit = 0;
                 break;
             case 12:
                 intCheckDigit = 1;
                 break;
         }
         // check last digit
         if (varArray[17].toUpperCase() != intCheckDigit) {
             //error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
             //alert(error);
             return false;
         }
     }
     else{        //length is 15
         //check date
         var date6 = idNumber.substring(6,12);
         if (checkDate(date6) == false) {
             //alert("身份证日期信息有误!.");
             return false;
         }
     }
     //alert ("Correct.");
     return true;
 }
/*
日期验证
*/
 function strDateTime(str)
      {
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
         if(r==null)return false;
         var d= new Date(r[1], r[3]-1, r[4]);
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
      }

function replaceAll(str,replaceStr,toStr){
        var raRegExp = new RegExp(replaceStr.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\‘\|\/\\])/g,"\\$1"),"ig");
        return str.replace(raRegExp,toStr);
}
function url(str){
        str=replaceAll(str,"?","$param$");
        str=replaceAll(str,"&","$and$");
        str=replaceAll(str,"%","$percent$");
        return str;
}

javascript验证

时间: 2024-07-28 16:47:17

javascript验证的相关文章

JavaScript验证邮箱的正则表达式

用JavaScript验证邮箱的正则表达式时,一般比较常用的是用以下两种: var pattern = /^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; var pattern = ^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$; 但是有时也会碰到像这种邮件:[email protected] 格式的邮件,这样便验证不了了.其实只要将第一个稍微改一下便可以了: va

Eclipse去除JavaScript验证错误

这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 第二步: 右键项目 -> properties -> Buil

使用JavaScript验证用户输入的是否为正整数

在项目开发中,需要使用JavaScript验证用户输入的是否为正整数. 方法一: var type="^[0-9]*[1-9][0-9]*$"; var r=new RegExp(type); var flag=r.test(subjectHour.value); if(!flag){ alert("课时应为正整数"); subjectHour.focus(); return false; } 方法二: var type="^[0-9]*[1-9][0-9

常用的JavaScript验证正则表达式

常用的JavaScript验证正则表达式 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分

Eclipse去除js(JavaScript)验证错误

这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 第二步: 右键项目 -> properties -> Buil

Javascript 验证上传图片大小[客户端验证]

需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理. 2)前台处理: 也就是利用Javascript获取该图片大小. 显然第一种方式,很不好.因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本. 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法. IE6: 关键

纯javascript验证,100行超精简代码。

这篇文章转自--寒飞,原帖地址http://blog.csdn.net/luoyehanfei/article/details/42262249 QQ交流群235032949 纯javascript验证库详解 还是坚持一贯的原则,编写任何一个插件的时候不引用其它框架.这样做的好处与坏处. 好处:耦合度降低,提升自我编码水平,总有一天你就能成为编写框架的大神. 坏处:琐碎,耗时一点. javascript的验证网上铺天盖地很多,jquery.validate.js也是非常强大的.为什么还要重复造轮

JavaScript验证两次输入密码是否相同

JavaScript验证两次输入密码是否相同, 通过去判断两次输入的密码是否相同来实现, 下面是html代码 onclick="check()">http://www.82676666.com 下面是javascript的代码 07年9月22日更新,下面的验证两次输入密码,是否相同也同样可以使用,记录下 再加一个验证两次输入密码是否相同的JavaScript代码

javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式

原文:javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式 ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])