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>

     

  • 相关阅读:
    小项目-购物网站个别功能的具体实现思路-中(新手)
    小项目-购物网站个别功能的具体实现思路-上(新手)
    性能测试需具备的知识点
    二.re库介绍
    一.正则表达式
    十六.MySQL存储过程
    十五.自定义函数
    十四.运算符和函数
    十三.无限极分类表设计--自身连接
    十二.连接的语法结构
  • 原文地址:https://www.cnblogs.com/gossip/p/1849896.html
Copyright © 2011-2022 走看看