<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      基于jquery的輸入字數統計小控件

      最近項目中加入社區話題功能,發布話題時多處用到對于文本框輸入字數進行統計的功能,因此寫了一個小控件供大家使用。

      主要實現功能:

      1、統計當前文本域、輸入框已輸入字符數。

      2、計算剩余可以輸入字符數。

      3、當輸入字符達到上限時切換提示樣式,給予提示。

      4、支持傳入自定義事件在輸入字數達到某個數值時執行。

      5、區分中英文字符統計。 

      效果圖如下: 

       

       

      /**
       * author:gew
       * 
       * 本方法用于實時統計輸入框已輸入的字數
       * 
       * 調用方法示例:
       * $("#xxx").checkInputNum({
       *     "maxNum":1000,                   輸入字符上限
       *  "nowNumTip":$("span .nownum"),      指定顯示已輸入多少字符的dom元素
       *  "restNumTip":$("span .restnum"),    指定顯示可輸入多少字符的dom元素
       *  "restTipClass":"red",               字數已經達到上線時改變restNumTip的樣式
       *     "checkType":"En"                 指定統計的單位,CN:中文字符 EN:英文字符
       * });
       * 
       */
      
      if (!!window.jQuery) {
          (function($) {
              $.fn.extend({checkInputNum:function(options) {
                  var option = {
                      maxNum : 1000,          //用戶可輸入最大字符數
                      triggerNum:1000,        //當輸入數量達到某個值時觸發一個事件
                      triggerFunc:null,       //觸發執行的事件
                      nowNumTip:null,         //用于提示當前已輸入字數的dom對象
                      restNumTip:null,        //用于提示還可以輸入字數的dom對象
                      restTipClass : null,    //已輸入字數等于最大輸入字數時改變對象的class
                      checkType:"CN"          //字數統計類型 CN:中文,EN:英文
                  };
                  if (typeof options === "object") {
                      $.extend(option, options);
                  }
                  if(isNaN(option.maxNum)){
                      return false;
                  }
                  var _this = this;
                  var _result = true;
                  var _nowNum = 0;
                  var _restNum = 0;
                  var _nowStrLen = 0;
                  var _maxLength = option.checkType == "CN"? option.maxNum*2:option.maxNum;
                  var _nowStr = "";
                  
                  $(_this).bind("keyup change",function(){
                      _nowStr = checkLen(_this.val(),_maxLength);
                      _nowNum = getNum(_nowStrLen, option.checkType);
                      _restNum = getNum(_maxLength-_nowStrLen, option.checkType);
                      if(_restNum<=option.triggerNum && typeof(option.triggerFunc)=="function"){
                          option.triggerFunc();
                      }
                      //判斷已輸入字符數是否超出最大值
                      _result =  _nowNum >= option.maxNum;
                      if(!_result){//未超出界限
                          if(option.nowNumTip){
                              $(option.nowNumTip).html(_nowNum);
                          }
                          if(option.restNumTip){
                              $(option.restNumTip).html(_restNum);
                              if(option.restTipClass&&typeof option.restTipClass =="string"){
                                  $(option.restNumTip).removeClass(option.restTipClass);
                              }
                          }
                          
                      }else{//超出界限
                          $(_this).val(_nowStr);
                          if(option.nowNumTip){
                              $(option.nowNumTip).html(_nowNum);
                          }
                          if(option.restNumTip){
                              $(option.restNumTip).html(_restNum);
                              if(option.restTipClass&&typeof option.restTipClass =="string"){
                                  $(option.restNumTip).addClass(option.restTipClass);
                              }
                          }
                      }
                  });
                  
                  if($(_this).val()!==""){
                      $(_this).trigger("change");
                  }
                  
                  //校驗字符串長度是否合法,若不合法則截取字符串
                  function checkLen(str,len){
                      var num = getBytes(str);
                      if(parseInt(num)>=len){
                          _nowStrLen = len;
                          return subStr_func(str,len);
                      }else{
                          _nowStrLen = num;
                          return str;
                      }
                  }
      
                  //根據統計類型判斷獲取字符數
                  function getNum(num,chType){
                      if(isNaN(num)){
                          return 0;
                      }else{
                          if(chType=="CN"){
                              return Math.ceil(num/2);
                          }else{
                              return num;
                          }
                      }
                  }
                  
                  //獲取字符串字節數
                  function getBytes(str) {
                      var byteLen = 0, len = str.length;
                      if (str) {
                          for ( var i = 0; i < len; i++) {
                              if (str.charCodeAt(i) > 255) {
                                  byteLen += 2;
                              } else {
                                  byteLen++;
                              }
                          }
                          return byteLen;
                      } else {
                          return 0;
                      }
                  }
                  
                  //截取字符串使其長度不大于指定長度
                  function subStr_func(str, len) {
                      if (!str || !len) {
                          return "";
                      }
                      var a = 0;
                      var i = 0;
                      var temp = '';
                      for (i = 0; i < str.length; i++) {
                          if (str.charCodeAt(i) > 255) {
                              a += 2;
                          } else {
                              a++;
                          }
                          if (a > len) {
                              return temp;
                          }
                          temp += str.charAt(i);
                      }
                  }
              }});
              
          })(jQuery);
      }

       

      2012-05-14

      posted @ 2012-05-14 23:45  逆風之羽  閱讀(1275)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 欧美丰满熟妇xxxx性| 免费人成年激情视频在线观看| 无码日韩精品一区二区免费| 国产高清精品一区二区三区| 97午夜理论电影影院| 免费午夜无码片在线观看影院| 亚洲乱熟乱熟女一区二区| 亚洲国产一区二区三区四| 国产免费丝袜调教视频| 美女午夜福利视频一区二区| 久久精品一本到99热免费| 午夜国人精品av免费看| 蜜臀视频在线观看一区二区| 亚洲欧美高清在线精品一区二区| 欧美日韩人成综合在线播放| 人妻无码久久久久久久久久久| 一级女性全黄久久片免费| 亚洲永久精品ww47永久入口| 中文午夜乱理片无码| 国产精品美女黑丝流水| 麻豆国产成人AV在线播放| 男女猛烈激情xx00免费视频| 国产互换人妻xxxx69| 男女性高爱潮免费网站| 久久婷婷成人综合色| 久久夜色精品国产亚洲a| 免费a级毛片无码av| 国产浮力第一页草草影院| 亚洲人精品午夜射精日韩| 777奇米四色成人影视色区| 男女吃奶做爰猛烈紧视频| 国精品人妻无码一区免费视频电影| 亚洲成人av在线资源| 洱源县| 国产线播放免费人成视频播放| 四虎永久精品免费视频| 欧美区一区二区三区| 成人午夜激情在线观看| 国产福利微视频一区二区| 成在线人永久免费视频播放| 亚洲色大成网站www看下面|