jquery 验证文本框限制输入文字

if($("#txtShopName").val().replace(/(^\s*)|(\s*$)/g, "") == "")
{
$.jBox.tip(lang["msg-57"]);
return false;
}
这个是验证非空的
如何修改成只能输入50个字符和25汉字

var this_val=$("#txtShopName").val().replace(/(^\s*)|(\s*$)/g, "");
if(this_val== ""){
    $.jBox.tip(lang["msg-57"]);
    return false;
}else{
    var deal_val=substr(this_val,50);
    if(deal_val!=this_val){
       $.jBox.tip('只能输入50个字符和25汉字');
        return false;
    }
}
function substr(str, len)
{
   if( ! str || ! len)
   {
      return '';
   }
   // 预期计数:中文2字节,英文1字节
   var a = 0;
   // 循环计数
   var i = 0;
   // 临时字串
   var temp = '';
   for (i = 0; i < str.length; i ++ )
   {
      if (str.charCodeAt(i) > 255)
      {
         // 按照预期计数增加2
         a += 2;
      }
      else
      {
         a ++ ;
      }
      // 如果增加计数后长度大于限定长度,就直接返回临时字符串
      if(a > len)
      {
         return temp;

      }
      // 将当前内容加到临时字符串
      temp += str.charAt(i);
   }
   // 如果全部是单字节字符,就直接返回源字符串
   return str;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
$("#txtShopName").val().length<=50

本回答被提问者采纳
相似回答