javascript 识别字符字节数(支持中文)

 一个中文识别为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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值