zoukankan      html  css  js  c++  java
  • JS判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)

    1. $('textarea#txtPrizeNote');     //表示textarea控件名称

    2. 'span' 显示剩余字数的标签

    HTML:

     

    <div>
            
    <textarea id="txtPrizeNote" runat="server" height="74px" width="480px" maxlength="10"
                style
    =" 480px; height: 74px; float: left"></textarea>
            
    <span style="color: Red;">*</span><br />
            剩余字数:
    <span id="showmsg" style="color: red"></span>
    </div>

     

     

    <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>

     

  • 相关阅读:
    jfixed使固定行列可编辑表格
    Base 64 加密、解密
    去除富文本格式
    阿里移动安全挑战赛第二题研究小结
    CyanogenMod源码下载、编译、刷机过程记录(HTC buzz)
    编译民间安卓源码mokesoures4.2.2报错内容【解决了!】
    Linux下通过NDK的初步使用【详细步骤+截图】
    Linux下实现JNI期间发生的错误……【未解决】
    C++调用Java方法时jvm.dll相关错误 【每次记录完后都被瞬间解决了……】
    JNI学习中——JVM错误:EXCEPTION_ACCESS_VIOLATION (0xc0000005)
  • 原文地址:https://www.cnblogs.com/gossip/p/1849896.html
Copyright © 2011-2022 走看看