javascript 識別字元位元組數(支援中文)

來源:互聯網
上載者:User

 一個中文識別為2

檢驗值是否小於指定長度

varField        值
limit_len       長度
傳回值:數字
如>=0則符合

  1. function getLeftChars(varField,limit_len) 
  2.     var i = 0; 
  3.     var counter = 0; 
  4.     var cap = limit_len;     
  5.     var j=0; 
  6.     for (i = 0; i< varField.value.length; i++) 
  7.     {     
  8.         if (varField.value.charCodeAt(i) > 127 || varField.value.charCodeAt(i) == 94) 
  9.         { 
  10.             j=j+2;   
  11.         } 
  12.         else 
  13.         { 
  14.             j=j+1 
  15.         }    
  16.     }  //結束FOR迴圈 
  17.     //var leftchars = cap - varField.value.length;     
  18.     var leftchars = cap - j;     
  19.     return (leftchars); 
  1. function onCharsChange(varField,a_str,a_limit)
  2.     var leftChars = getLeftChars(varField,a_limit); 
  3.     if ( leftChars >= 0) 
  4.     {    
  5.         return true; 
  6.     } 
  7.     else 
  8.     { 
  9.       ls_str = a_str + "超過字數(" + a_limit + "個)限制!"; 
  10.       window.alert(ls_str); 
  11.       //var len = document.thform.ti.value.length + leftChars;   
  12.       //document.login.message.value = document.login.ti.value.substring(0, len); 
  13.       varField.value="" 
  14.       return false;     
  15.     } 
  1. <input type="text" name="un" size=15 onblur="onCharsChange(this,'使用者名稱',20)" onchange="onCharsChange(this,'使用者名稱',20)"> 

 

轉自:http://www.yxl.cn/Info/20051231,124412,2987.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.