菜鸟日记之中英文长度控制

在表单的input里,通过maxlength来控制长度,对中文是没有效果的。只能从后台来判断,代码如下:

java 代码
  1. String fgmc = rule.getFgmc();   
  2. if(fgmc!= null && !fgmc.equals("")){   
  3.         byte[] bytes = fgmc.getBytes();   
  4.         if (bytes != null && bytes.length>100){   
  5.         returnCode = "法规名称长度不能超过100字符(一个汉字占两个字符)!";   
  6.                 return returnCode;  

 

至于textarea,控制他的长度的代码为:

js 代码
  1. <script>
    function checklen(obj){
    var lenE = obj.value.length;
    var lenC = 0;
    var CJK = obj.value.match(/[\u4E00-\u9FA5\uF900-\uFA2D]/g);
    if (CJK != null) lenC += CJK.length;
    tno.innerText = obj.maxlength - lenC - lenE ;
    if (tno.innerText < 0) {
    var tmp = 0
    var cut = obj.value.substring(0, obj.maxlength);
    for (var i=0; i<cut.length; i++){<br=""> tmp += /[\u4E00-\u9FA5\uF900-\uFA2D]/.test(cut.charAt(i)) ? 2 : 1;
    if (tmp > obj.maxlength) break;
    }
    obj.value = cut.substring(0, i);
    }
    }
    </script>

HTML部分代码

js 代码
  1. <(body) οnlοad="tno.innerText = s1.maxlength;">   
  2. <(textarea) name="s1" rows="5" cols="50" maxlength="1000" onpropertychange="checklen(this)"></textarea>   
  3. 剩余<span id="tno"></span>个字符  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值