top
Loading...
巧用JAVASCRIPT代碼限制文本字節數
做項目時自己寫一段js給大家。關于文本限制字數的問題,在實際開發中經常用到;主要問題出現在對中文的限制,下面代碼就解決關于限制字節數的校驗問題;只要將此下代碼保存到一個js文件中并引入到校驗的頁面中,便可使用!同時希望大家給與大力支持和寶貴意見,本人會在今后閑余之際,發表更多的好文章,謝謝!!

以下是引用片段:
/* 
 value: 值; 
 byteLength:數據庫字節長度 
 title:字段中文名稱 
 attribute:屬性名稱 
 使用方法說明: 

添加 (1) onkeyup="limitLength(this.value,100,'名稱','name')" 
          (2)  id="name" 或【struts標簽】styleId="name" 
 注意:id名稱和 attribute屬性名稱要一樣 
      
 例子:  

 或 

 

*/ 



function limitLength(value, byteLength, title, attribute) { 
       var newvalue = value.replace(/[^x00-xff]/g, "**"); 
       var length = newvalue.length; 
  
       //當填寫的字節數小于設置的字節數 
      if (length * 1 <=byteLength * 1){ 
            return; 
      } 
      var limitDate = newvalue.substr(0, byteLength); 
      var count = 0; 
      var limitvalue = ""; 
     for (var i = 0; i < limitDate.length; i++) { 
             var flat = limitDate.substr(i, 1); 
            if (flat == "*") { 
                  count++; 
            } 
     } 
     var size = 0; 
     var istar = newvalue.substr(byteLength * 1 - 1, 1);//校驗點是否為“×” 
   
    //if 基點是×; 判斷在基點內有×為偶數還是奇數  
     if (count % 2 == 0) { 
              //當為偶數時 
            size = count / 2 + (byteLength * 1 - count); 
            limitvalue = value.substr(0, size); 
    } else { 
            //當為奇數時 
            size = (count - 1) / 2 + (byteLength * 1 - count); 
            limitvalue = value.substr(0, size); 
    } 
   alert(title + "最大輸入" + byteLength + "個字節(相當于"+byteLength /2+"個漢字)!"); 
   document.getElementById(attribute).value = limitvalue; 
   return; 


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗