大家好,一个js问题,如何实现多行文本框限制字符输入,输入内容中文按照2个字符算,英文和其他字母按一个算,输入最大数后不能再输入???谢谢

解决方案 »

  1.   

    用正则匹配算吧  /[^\u4E00-\u9FA5]/g 匹配汉字, 若为true 则length +2 否则+1  不就完了吗 
      

  2.   


    //Length  是限制的长度    Field  是要判断的文本框/域对象 FieldsName  文本框的名字
    function CheckLength(Length, Field, FieldsName) 
    {
    var psValue =  Field.value;  
    Length = parseInt(Length,10)
    var sCheckString = new String(psValue);
    var iCharCounter = 0;
    for(var i = 0; i < sCheckString.length; i++)
    {
        if(sCheckString.charCodeAt(i) > 255) 
        {
         iCharCounter += 1;
        } 
        else 
        {
         iCharCounter++;
        }
    }
    if(iCharCounter > Length) 
    {  
    alert(FieldsName + "最多只能输入" + Length + "位,请确认后重新输入!");
        Field.focus();    
      return false;
    }
    return  true;
    }