欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

N个必备的实用jQuery代码段

程序员文章站 2024-01-22 16:16:28
都是网上找的 整理一下 一起学习 方便以后好用 感谢各位大佬的分享! ......

都是网上找的  整理一下  一起学习 方便以后好用  感谢各位大佬的分享!

    jQuery(function() {

    /*    
        <input type="password" name="pass" id="pass" /> 
            <span id="passstrength"></span>*/
        
        //下面的正则表达式建议各位收藏哦,项目上有可能会用得着
        $('#pass').keyup(function(e) {
              //密码为八位及以上并且字母数字特殊字符三项都包括
             var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");

          //密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等 
             var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
             var enoughRegex = new RegExp("(?=.{6,}).*", "g");
             if (false == enoughRegex.test($(this).val())) {
                     $('#passstrength').html('More Characters');
             } else if (strongRegex.test($(this).val())) {
                     $('#passstrength').className = 'ok';
                     $('#passstrength').html('Strong!');
             } else if (mediumRegex.test($(this).val())) {
                     $('#passstrength').className = 'alert';
                     $('#passstrength').html('Medium!');
             } else {
                     $('#passstrength').className = 'error';
                     $('#passstrength').html('Weak!');
             }
             return true;
        });
        
        /*检查图片是否加载完成*/
        $('img').load(function () {
              console.log('image load successful');
            });
        
        /*.鼠标悬停(hover)切换 class 属性*/
        
        $('.btn').hover(function () {
              $(this).addClass('hover');
              }, function () {
                $(this).removeClass('hover');
              });
        
        /*
        禁用 input 字段
        有时你可能需要禁用表单的 submit 按钮或者某个 input 字段,直到用户执行了某些操作
        (例如,检查“已阅读条款”复选框)。可以添加 disabled 属性,直到你想启用它时:
        */
        $('input[type="submit"]').prop('disabled', true);
        /*你要做的就是执行 removeAttr 方法,并把要移除的属性作为参数传入:*/
        
        $('input[type="submit"]').removeAttr('disabled');

        
        /*让两个 DIV 高度相同*/

        var $columns = $('.column');var height = 0;
        $columns.each(function () {
          if ($(this).height() > height) {
            height = $(this).height();
          }
        });
        $columns.height(height);


        /* 替换元素*/
        $(document).ready(function() {
               $('#id').replaceWith('<DIV>I have been replaced</DIV>');
            });
        
        
        /*验证元素是否为空*/
        $(document).ready(function() {
              if ($('#id').html()) {
                 // do something
               }
            });
        
        
        /*移除单词功能*/
        $(document).ready(function() {
               var el = $('#id');
               el.html(el.html().replace(/word/ig, ""));
            });
        
        
        /*使整个DIV可点击*/
        $(document).ready(function() {
            $("div").click(function(){
                  //get the url from href attribute and launch the url
              window.location=$(this).find("a").attr("href"); return false;
            });// how to use<DIV><A href="index.html">home</A></DIV>});
        });
        
        
        
        /*页面load方法*/
        $().ready(function() { 

        })
        /*div隐藏操作*/
        // div是否隐藏
        function isHideMenu(){ 
        return $("#menuContent").is(":hidden") 
        } 
        // 隐藏div
        mainFrameset.hide(); 
        // 显示div
        mainFrameset.show(); 
        
        
        
        
        /*
        
        匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
        评注:表单验证时很实用

        匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
        评注:网上流传的版本功能很有限,上面这个基本可以满足需求

        匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
        评注:表单验证时很实用

        匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
        评注:匹配形式如 0511-4405222 或 021-87888822

        匹配腾讯QQ号:[1-9][0-9]{4,}
        评注:腾讯QQ号从10000开始

        匹配中国邮政编码:[1-9]d{5}(?!d)
        评注:中国邮政编码为6位数字

        匹配身份证:d{15}|d{18}
        评注:中国的身份证为15位或18位

        匹配ip地址:d+.d+.d+.d+
        评注:提取ip地址时有用


        匹配特定数字:
        ^[1-9]d*$    //匹配正整数
        ^-[1-9]d*$   //匹配负整数
        ^-?[1-9]d*$   //匹配整数
        ^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
        ^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
        ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
        ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
        ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
        ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
        ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
        评注:处理大量数据时有用,具体应用时注意修正

        匹配特定字符串:
        ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
        ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
        ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
        ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
        ^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串


        在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:


        只能输入数字:“^[0-9]*$”
        只能输入n位的数字:“^d{n}$”
        只能输入至少n位数字:“^d{n,}$”
        只能输入m-n位的数字:“^d{m,n}$”
        只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
        只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
        只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
        只能输入非零的正整数:“^+?[1-9][0-9]*$”
        只能输入非零的负整数:“^-[1-9][0-9]*$”
        只能输入长度为3的字符:“^.{3}$”
        只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
        只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
        只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
        只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
        只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
        验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,


        只能包含字符、数字和下划线。
        验证是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”
        只能输入汉字:“^[u4e00-u9fa5],{0,}$”
        验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
        验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
        验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”


        正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,


        “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
        验证身份证号(15位或18位数字):“^d{15}|d{}18$”
        验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
        验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”


        正确格式为:“01”“09”和“1”“31”。


        匹配中文字符的正则表达式: [u4e00-u9fa5]
        匹配双字节字符(包括汉字在内):[^x00-xff]
        匹配空行的正则表达式:n[s| ]*r
        匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
        匹配首尾空格的正则表达式:(^s*)|(s*$)
        匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
        匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

        (1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
        String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}

        (2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
        String.prototype.trim = function()
        {
        return this.replace(/(^s*)|(s*$)/g, "");
        }
        (3)应用:利用正则表达式分解和转换IP地址
        function IP2V(ip) //IP地址转换成对应数值
        {
        re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
        if(re.test(ip))
        {
        return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
        }
        else
        {
        throw new Error("Not a valid IP address!")
        }
        }
        
    /*
        (5)应用:利用正则表达式限制网页表单里的文本框输入内容
        用正则表达式限制只能输入中文:onkeyup="value="/blog/value.replace(/["^u4E00-u9FA5]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
        用正则表达式限制只能输入全角字符: onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
        用正则表达式限制只能输入数字:onkeyup="value="/blog/value.replace(/["^d]/g,'') "onbeforepaste= "clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
        用正则表达式限制只能输入数字和英文:onkeyup="value="/blog/value.replace(/[W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''

  */  
        
        //正则匹配 

 //       匹配中文字符的正则表达式: [/u4e00-/u9fa5] 
   //     匹配双字节字符(包括汉字在内):[^/x00-/xff] 
  //      匹配空行的正则表达式:/n[/s| ]*/r 
  //      匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/   
  //      匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数) 
   //     匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 
  //      匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? 
   /*     以下是例子: 
        利用正则表达式限制网页表单里的文本框输入内容: 
        用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/u4E00-/u9FA5]/g,‘‘))" 
        1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/uFF00-/uFFFF]/g,‘‘))" 
        2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^/d]/g,‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/d]/g,‘‘))" 
        3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[/W]/g,‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/d]/g,‘‘))" */
    
        
        //onkeyup限制输入框只能输入数字
        $('input#box').keyup(function(){
                    var c=$(this);
                    if(/[^\d]/.test(c.val())){//替换非数字字符
                      var temp_amount=c.val().replace(/[^\d]/g,'');
                      $(this).val(temp_amount);
                    }
                 }) 
    
        
        
        
        
        
    
        
        function trim(inputstr) //去处空格,在获取客户端录入的表单信息前, 
        //都先trim一下再提交 例如:“form1.org_name.value = trim(form1.org_name.value);” 
        { 
        if(!inputstr.length>0) return ""; 
        var starts=0; 
        var ends=inputstr.length; 
        while(starts<ends) 
        { 
        if(inputstr.substring(starts,starts+1)==" ") 
        starts++; 
        else 
        break; 
        } 
        while(starts<ends) 
        { 
        if(inputstr.substring(ends-1,ends)==" ") 
        ends--; 
        else 
        break; 
        } 
        return inputstr.substring(starts,ends); 
        } 

        function isvalidcode(inputs) //校验邮政编码 
        { 
        var i,temp; 
        var isvalidcode = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null||inputstr.length==0||inputstr.length!=6) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!(temp>="0" && temp<="9")) 
        { 
        isvalidcode=false; 
        break; 
        } 
        } 
        return isvalidcode; 
        } 

        function isvalidtel(inputs) //校验电话号码 
        { 
        var i,temp; 
        var isvalidtel = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null||inputstr.length==0) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!(temp>="0" && temp<="9" || temp=="-")) 
        { 
        isvalidtel=false; 
        break; 
        } 
        } 
        return isvalidtel; 
        } 

        function isrealnum(inputs) //校验实数(含小数点) 
        { 
        var i,temp; 
        var isrealnum = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null||inputstr.length==0) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!(temp>="0" && temp<="9" || temp==".")) 
        { 
        isrealnum=false; 
        break; 
        } 
        } 
        return isrealnum; 
        } 

        function isnumeric(inputs) //校验是否整数 
        { 
        var i,temp; 
        var isnumeric = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null||inputstr.length==0) return false; 
        //isvalid = true; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!(temp>="0" && temp<="9")) 
        { 
        isnumeric=false; 
        break; 
        } 
        } 
        return isnumeric; 
        } 

        function isvalidide(inputs) //校验身份证 
        { 
        var i,temp; 
        var isvalidide = true; 
        inputstr=trim(inputs); 
        if(inputstr.length == null || inputstr.length == 0 || (inputstr.length != 15 && inputstr.length != 18)) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!((temp>="0" && temp<="9") || temp == "x" || temp == "X")) 
        { 
        isvalidide=false; 
        break; 
        } 
        } 
        return isvalidide; 
        } 

        function isvalidname(inputs) //校验账号2~15位(即只能是英文字母和数字组成的串) 
        { 
        var i,temp; 
        var isvalidname = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null || inputstr.length==0 || inputstr.length > 15 || inputstr.length < 2) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z"))) 
        { 
        isvalidname=false; 
        break; 
        } 
        } 
        return isvalidname; 
        } 

        function isvalidphoto(inputs) //校验照片扩展名 
        { 
        var i,temp; 
        var isvalidphoto = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null || inputstr.length==0) return true; //没有相片也允许的 
        temp=inputstr.substring(inputstr.lastIndexOf(".")+1); 

        temp = temp.toLowerCase(); 
        if(!(temp == "bmp" || temp == "jpg" || temp == "gif")) 
        { 
        isvalidphoto=false; 
        } 
        return isvalidphoto; 
        } 

        function isvalidzgh(inputs) //校验职工号8位(即只能是英文字母和数字组成的串) 
        { 
        var i,temp; 
        var isvalidzgh = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null || inputstr.length==0 || inputstr.length != 8) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z"))) 
        { 
        isvalidzgh=false; 
        break; 
        } 
        } 
        return isvalidzgh; 
        } 

        function isvalidxh(inputs) //校验学号7位(即只能是英文字母和数字组成的串) 
        { 
        var i,temp; 
        var isvalidxh = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null || inputstr.length==0 || inputstr.length != 7) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z"))) 
        { 
        isvalidxh=false; 
        break; 
        } 
        } 
        return isvalidxh; 
        } 

        function isvalidkcid(inputs) //校验课程编号5位(即只能是数字组成的串) 
        { 
        var i,temp; 
        var isvalidkcid = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null||inputstr.length==0||inputstr.length!=5) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!(temp>="0" && temp<="9")) 
        { 
        isvalidkcid=false; 
        break; 
        } 
        } 
        return isvalidkcid; 
        } 

        function isvalidnamee(inputs) //校验账号4~20位(即只能是英文字母和数字组成的串) 
        { 
        var i,temp; 
        var isvalidname = true; 
        inputstr=trim(inputs); 
        if(inputstr.length==null || inputstr.length==0 || inputstr.length > 20 || inputstr.length < 4) return false; 
        for(i=0;i<inputstr.length;i++) 
        { 
        temp=inputstr.substring(i,i+1); 

        if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z"))) 
        { 
        isvalidname=false; 
        break; 
        } 
        } 
        return isvalidname; 
        } 



        function login() 
        { 
        form1.UNAME.value = trim(form1.UNAME.value); 
        form1.PWD.value = trim(form1.PWD.value); 
        form1.PWD2.value = trim(form1.PWD2.value); 
        form1.EMAIL.value = trim(form1.EMAIL.value); 
        form1.NC.value = trim(form1.NC.value); 
        if(!isvalidname(form1.UNAME.value)) 
        { 
        alert("请您注意:用户名必须为『2~15位英文或数字』!"); 
        form1.UNAME.focus(); 
        return false; 
        } 
        else if(!isvalidname(form1.PWD.value)) 
        { 
        alert("请您注意:密码必须为『2~15位英文或数字』!"); 
        form1.PWD.focus(); 
        return false; 
        } 
        else if(!isvalidname(form1.PWD2.value)) 
        { 
        alert("请您注意:密码确认也必须为『2~15位英文或数字』!"); 
        form1.PWD2.focus(); 
        return false; 
        } 
        else if(form1.PWD.value != form1.PWD2.value) 
        { 
        alert("两次密码不一致!"); 
        form1.PWD.focus(); 
        return false; 
        } 
        else if(form1.EMAIL.value == "" || form1.EMAIL.value.length > 100) 
        { 
        alert("请输入邮件!"); 
        form1.EMAIL.focus(); 
        return false; 
        } 
        else if(form1.NC.value == "" || form1.NC.value.length > 15) 
        { 
        alert("请输入昵称!"); 
        form1.NC.focus(); 
        return false; 
        } 
        else if(window.confirm("您确信提交!")) 
        return true; 
        else 
        return false; 
        } 

        function regedit() 
        { 
        var litop = (screen.height - 162)/2; 
        var lileft = (screen.width - 360)/2; 
        window.open("/regedit.aspx", "reg", "titlebar=no,fullscreen=no,dependent=yes,height=162,width=360,top=" + litop + ",left=" + lileft + ", toolbar=no,menubar=no,scrollbars=no,resizable=no,channelmode=no,status=no,location=no,directories=no"); 
        } 
        
   
        function checkid(iden,year,month,day){ 

        if (iden.value.length==15) { 


        if ((iden.value.lastIndexOf(month.value+day.value))==8) { 

        return true; 
        } 
        return false; 
        } 
        if (iden.value.length==18) { 


        if ((iden.value.indexOf(year.value+month.value+day.value))==6) { 

        return true; 
        } 
        return false; 
        } 

        return false; 
        } 


        function isCharsInBag (s, bag) 
        { 
        var i; 
        for (i = 0; i < s.length; i++) 
        { 
        var c = s.charAt(i); 
        if (bag.indexOf(c) == -1) return false; 
        } 
        return true; 
        } 
        function isEmpty(s) 
        { 
        return ((s == null) || (s.length == 0)) 
        } 

        function isWhitespace (s) 
        { 
        var whitespace = " /t/n/r"; 
        var i; 
        for (i = 0; i < s.length; i++) 
        { 
        var c = s.charAt(i); 
        if (whitespace.indexOf(c) >= 0) 
        { 
        return true; 
        } 
        } 
        return false; 
        } 
        function isEmail (s,t) 
        { 
        if (isEmpty(s)) 
        { 
        window.alert("输入的E-mail地址不能为空,请输入!"); 
        mobj = eval(t); 
        mobj.focus(); 
        mobj.select(); 
        return false 
        } 
        if (isWhitespace(s)) 
        { 
        window.alert("输入的E-mail地址中不能包含空格符,请重新输入!"); 
        mobj = eval(t) 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        var i = 1; 
        var len = s.length; 

        if (len > 50) 
        { 
        window.alert("email地址长度不能超过50位!"); 
        mobj = eval(t) 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 

        pos1 = s.indexOf("@"); 
        pos2 = s.indexOf("."); 
        pos3 = s.lastIndexOf("@"); 
        pos4 = s.lastIndexOf("."); 
        if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)) 
        { 
        window.alert("请输入有效的E-mail地址!"); 
        mobj = eval(t) 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        else 
        { 
        if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1) 
        || ( pos1 != pos3 ) 
        || ( pos4 < pos3 ) ) 
        { 
        window.alert("请输入有效的E-mail地址!"); 
        mobj = eval(t) 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        } 

        if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@")) 
        { 
        window.alert("email地址中只能包含字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@/n" + "请重新输入" ); 
        mobj = eval(t) 
        mobj.focus() 
        return false; 
        } 
        return true; 
        } 
        function isnumber(str){ 
        var digits="1234567890"; 
        var i=0; 
        var strlen=str.length; 
        while((i<strlen)){ 
        var char=str.charAt(i); 
        if(digits.indexOf(char)==-1)return false;i++; 
        } 
        return true; 
        } 
        function isnumbercode(str){ 
        var digits="1234567890-/"; 
        var i=0; 
        var strlen=str.length; 
        while((i<strlen)){ 
        var char=str.charAt(i); 
        if(digits.indexOf(char)==-1)return false;i++; 
        } 
        return true; 
        } 

        function checkForm(theform){ 
        if (document.frm.companyname.value.length==0){ 
        alert("单位名称不能为空。"); 
        mobj = eval("document.frm.companyname"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 

        if (document.frm.address.value.length==0){ 
        alert("单位地址不能为空"); 
        mobj = eval("document.frm.address"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 

        if (document.frm.invest.value.length==0){ 
        alert("投资额不能为空"); 
        mobj = eval("document.frm.invest"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.codeornumber.value.length==0){ 
        alert("法人代码证书号或营业执照编号不能为空"); 
        mobj = eval("document.frm.codeornumber"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 

        if (document.frm.linkman.value.length==0){ 
        alert("联系人不能为空"); 
        mobj = eval("document.frm.linkman"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.linkmanjob.value.length==0){ 
        alert("联系人职位不能为空"); 
        mobj = eval("document.frm.linkmanjob"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.phone.value.length==0){ 
        alert("电话不能为空"); 
        mobj = eval("document.frm.phone"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 

        if (document.frm.email.value=='') { 
        window.alert ("请输入您的E-mail地址 !") 
        mobj = eval("document.frm.email"); 
        mobj.focus() 
        mobj.select() 
        return false 
        } 
        if ( !isEmail(document.frm.email.value,document.frm.email) ) 
        return false 
        if (document.frm.introduction.value.length==0){ 
        alert("公司简介不能为空"); 
        mobj = eval("document.frm.introduction"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.positionname.value.length==0){ 
        alert("职位名称不能为空"); 
        mobj = eval("document.frm.positionname"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.jobaddress.value.length==0){ 
        alert("工作地点不能为空"); 
        mobj = eval("document.frm.jobaddress"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.jobfunction.value.length==0){ 
        alert("工作职责不能为空"); 
        mobj = eval("document.frm.jobfunction"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.positionrequre.value.length==0){ 
        alert("职位要求不能为空"); 
        mobj = eval("document.frm.positionrequre"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        if (document.frm.salary.value.length==0){ 
        alert("待遇不能为空"); 
        mobj = eval("document.frm.salary"); 
        mobj.focus() 
        mobj.select() 
        return false; 
        } 
        } 
        
        
        
        $(function () {
            $("input[name='sub']").on("click", function () {
                if (!isEmail($("input[name='email']").val())) {
                    $("span[name='email']").html("邮箱格式错误");
                    return false;
                }
                else {
                    $("span[name='email']").html("");
                }
                if (checkStrong($("input[name='password']").val()) < 3) {
                    $("span[name='password']").html("密码太过简单");
                    return false;
                }
                else {
                    $("span[name='password']").html("");
                }
                if (!isQQ($.trim($("input[name='qq']").val()))) {
                    $("span[name='qq']").html("请输入正确的QQ号码");
                    return false;
                }
                else {
                    $("span[name='qq']").html("");
                }
                if (!isPhone($.trim($("input[name='mnumber']").val()))) {
                    $("span[name='mnumber']").html("请输入正确的手机号码");
                    return false;
                }
                else {
                    $("span[name='mnumber']").html("");
                }
                return true;
            });
        });
      
        
        
        
        $(function () {
            $("#address").focus(function () { // 地址框获得鼠标焦点
                var txt_value = $(this).val(); // 得到当前文本框的值
                if (txt_value == this.defaultValue) {
                    $(this).val(""); // 如果符合条件,则清空文本框内容
                }
            });
            $("#address").blur(function () { // 地址框失去鼠标焦点
                var txt_value = $(this).val(); // 得到当前文本框的值
                if (txt_value == "") {
                    $(this).val(this.defaultValue); // 如果符合条件,则设置内容
                }
            })
            
            $("#password").focus(function () {
                var txt_value = $(this).val();
                if (txt_value == this.defaultValue) {
                    $(this).val("");
                }
            });
            $("#password").blur(function () {
                var txt_value = $(this).val();
                if (txt_value == "") {
                    $(this).val(this.defaultValue);
                }
            })
        });

        
        
        
   //     var ip="10.100.20.168" 
        //    ip=ip.split(".") 
    //        alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 
    //        正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。


        //    匹配中文字符的正则表达式: [/u4e00-/u9fa5] 
        //    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

        //    匹配双字节字符(包括汉字在内):[^/x00-/xff] 
        //    评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

        //    匹配空白行的正则表达式:/n/s*/r 
        //    评注:可以用来删除空白行

        //    匹配HTML标记的正则表达式:<(/S*?)[^>]*>.*?<//1>|<.*? /> 
        //    评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

        //    匹配首尾空白字符的正则表达式:^/s*|/s*$ 
        ///    评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

        //    匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 
        //    评注:表单验证时很实用
//
        //    匹配网址URL的正则表达式:[a-zA-z]+://[^/s]* 
            //评注:网上流传的版本功能很有限,上面这个基本可以满足需求

            //匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
            //评注:表单验证时很实用

        //    匹配国内电话号码:/d{3}-/d{8}|/d{4}-/d{7} 
    //        评注:匹配形式如 0511-4405222 或 021-87888822
//
        //    匹配腾讯QQ号:[1-9][0-9]{4,} 
        //    评注:腾讯QQ号从10000开始

        //    匹配中国邮政编码:[1-9]/d{5}(?!/d) 
        //    评注:中国邮政编码为6位数字

        //    匹配身份证:/d{15}|/d{18} 
    //        评注:中国的身份证为15位或18位

        //    匹配ip地址:/d+/./d+/./d+/./d+ 
        //    评注:提取ip地址时有用

        //    匹配特定数字: 
        //    ^[1-9]/d*$ //匹配正整数 
        //    ^-[1-9]/d*$ //匹配负整数 
        //    ^-?[1-9]/d*$ //匹配整数 
        //    ^[1-9]/d*|0$ //匹配非负整数(正整数 + 0) 
        //    ^-[1-9]/d*|0$ //匹配非正整数(负整数 + 0) 
        //    ^[1-9]/d*/./d*|0/./d*[1-9]/d*$ //匹配正浮点数 
        //    ^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$ //匹配负浮点数 
        //    ^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$ //匹配浮点数 
        //    ^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$ //匹配非负浮点数(正浮点数 + 0) 
        //    ^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$ //匹配非正浮点数(负浮点数 + 0) 
            //评注:处理大量数据时有用,具体应用时注意修正

        //    匹配特定字符串: 
        //    ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 
        //    ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 
        //    ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 
        //    ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 
        //    ^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 
        //    评注:最基本也是最常用的一些表达式

        //    匹配中文字符的正则表达式: [/u4e00-/u9fa5]

        //    匹配双字节字符(包括汉字在内):[^/x00-/xff]

        //    匹配空行的正则表达式:/n[/s| ]*/r
//
        //    匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
//
        //    匹配首尾空格的正则表达式:(^/s*)|(/s*$)

        //    匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

        //    匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?


        //    ^/d+$ //匹配非负整数(正整数 + 0) 
        //    ^[0-9]*[1-9][0-9]*$ //匹配正整数 
        //    ^((-/d+)|(0+))$ //匹配非正整数(负整数 + 0) 
        //    ^-[0-9]*[1-9][0-9]*$ //匹配负整数 
        //    ^-?/d+$ //匹配整数 
        //    ^/d+(/./d+)?$ //匹配非负浮点数(正浮点数 + 0) 
        //    ^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数 
        //    ^((-/d+(/./d+)?)|(0+(/.0+)?))$ //匹配非正浮点数(负浮点数 + 0) 
        //    ^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数 
        //    ^(-?/d+)(/./d+)?$ //匹配浮点数 
        //    ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 
        //    ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 
        ///    ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 
        //    ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 
        //    ^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 
        //    ^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$

             

        //    "^/d+$" //非负整数(正整数 + 0) 
        //    "^[0-9]*[1-9][0-9]*$" //正整数 
        //    "^((-/d+)|(0+))$" //非正整数(负整数 + 0) 
        //    "^-[0-9]*[1-9][0-9]*$" //负整数 
        //    "^-?/d+$" //整数 
        //    "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) 
        //    "^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 
        //    "^((-/d+(/./d+)?)|(0+(/.0+)?))$" //非正浮点数(负浮点数 + 0) 
        //    "^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点
        //    数 
        //    "^(-?/d+)(/./d+)?$" //浮点数 
        //    "^[A-Za-z]+$" //由26个英文字母组成的字符串 
        //    "^[A-Z]+$" //由26个英文字母的大写组成的字符串 
        //    "^[a-z]+$" //由26个英文字母的小写组成的字符串 
        //    "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 
        //    "^/w+$" //由数字、26个英文字母或者下划线组成的字符串 
        //    "^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$" //email地址 
        //    "^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$" //url 
        //    /^13/d{9}$/gi手机号正则表达式
        //    public static bool IsValidMobileNo(string MobileNo)
        //    {
        //       const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)/d{8}$";
        //       return Regex.IsMatch(MobileNo, regPattern);
        //    }
            ///正则表达式--验证手机号码:13[0-9]{9}
        //    实现手机号前带86或是+86的情况:^((/+86)|(86))?(13)/d{9}$
        //    电话号码与手机号码同时验证:(^(/d{3,4}-)?/d{7,8})$|(13[0-9]{9}) 
        //    提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+('|"| *|>)?  
        //    提取信息中的邮件地址:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*  
        //    提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|"| *|>)?
        //    提取信息中的IP地址:(/d+)/.(/d+)/.(/d+)/.(/d+)    
        ///    提取信息中的中国手机号码:(86)*0*13/d{9}    
        //    提取信息中的中国固定电话号码:(/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}    
        //    提取信息中的中国电话号码(包括移动和固定电话):(/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}    
        //    提取信息中的中国邮政编码:[1-9]{1}(/d+){5}    
        ///    提取信息中的中国身份证号码:/d{18}|/d{15}    
        //    提取信息中的整数:/d+    
        //    提取信息中的浮点数(即小数):(-?/d*)/.?/d+    
        //    提取信息中的任何数字 :(-?/d*)(/./d+)?  
        //    提取信息中的中文字符串:[/u4e00-/u9fa5]*    
        //    提取信息中的双字节字符串 (汉字):[^/x00-/xff]
        
        
 /*       
        1.文本框只能输入数字代码(小数点也不能输入)            
        <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" placeholder="文本框只能输入数字代码(小数点也不能输入)">
        <br><br>
        2.只能输入数字,能输小数点.
        <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"  >
        <input name="txt1" onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"  >
        <br><br>
        3.数字和小数点方法二
        <input type="text" t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">
        <br><br>
        4.只能输入字母和汉字
        <input onkeyup="value=value.replace(/[\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength="10" name="Numbers">
        <br><br>
        5.只能输入英文字母和数字,不能输入中文
        <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
        <br><br>
        6.只能输入数字和英文<font color="Red">chun</font>
        <input onkeyup="value=value.replace(/[^\d|chun]/g,'')">
        <br><br>
        7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
        <input onkeypress="if((event.keyCode<48 || event.keyCode>57) &amp;&amp; event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
        <br><br>
        8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
        <input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
        <br><br>
        输入中文:
        <input type="text" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')">  
        <br><br>
        输入数字:  
        <input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')">  
        <br><br>  
        输入英文:  
        <input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">  
         <br><br>
        三个合在一起  
        <input onkeyup="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')">  
         <br><br> 
        只输入数字和字母  
        :<input class="input" maxlength="12" size="15" name="username" id="username" onkeyup="value=value.replace(/[\W]/g,'')"> 
        <br><br>
        除了英文的标点符号以为 其他的人都可以中文,英文字母,数字,中文标点
        <input type="text" onkeyup="this.value=this.value.replace(/^[^!@#$%^&amp;*()-=+]/g,'')">
                */
    });