jquery 字元個數(數字字母長度記為1,中文記為2,超過長度自動截)

來源:互聯網
上載者:User

標籤:io   ar   java   for   sp   on   cti   size   bs   

<script type="text/javascript"> 
  //返回val的位元組長度 
  function getByteLen(val) { 
    var len = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) //全形 
        len += 2; 
      else 
        len += 1; 
      } 
    return len; 
  } 
  //返回val在規定位元組長度max內的值 
  function getByteVal(val, max) { 
    var returnValue = ‘‘; 
    var byteValLen = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) 
        byteValLen += 2; 
      else 
        byteValLen += 1; 
      if (byteValLen > max) 
        break; 
      returnValue += val[i]; 
    } 
    return returnValue; 
  } 
  $(function() { 
    var _area = $(‘textarea#txtPrizeNote‘); 
    var _info = _area.next(); 
    var _max = _area.attr(‘maxlength‘); 
    var _val; 
    _area.bind(‘keyup change‘, function() { //綁定keyup和change事件 
      if (_info.find(‘span‘).size() < 1) {//避免每次彈起都會插入一條提示資訊 
        _info.append(_max); 
      } 
      _val= $(this).val(); 
      _cur = getByteLen(_val); 
      if (_cur == 0) {//當預設值長度為0時,可輸入數為預設maxlength值 
        _info.text(_max); 
      } else if (_cur < _max) {//當預設值小於限制數時,可輸入數為max-cur 
        _info.text(_max - _cur); 
      } else {//當預設值大於等於限制數時 
        _info.text(0); 
        $(this).val(getByteVal(_val,_max)); //截取指定位元組長度內的值 
      } 
    }); 
  }); 
</script> 

jquery 字元個數(數字字母長度記為1,中文記為2,超過長度自動截)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.