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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

参考技术A $("#txtShopName").val().length<=50

本回答被提问者采纳

文本框textarea实时提示还可以输入多少文字

参考技术A 文本框 textarea
限制输入文字个数的的javascript代码,我们经常在评论留言页面我们需要在客户端限制访客的留言长度,当然最好我们在服务器端也要加上相应的代码,因为客户端的限制是相对的。本文整理了3种限制输入字符数的方法:

方法一:文本框textarea限制输入文字个数为200个

<h3>设计理念说明(200字以内)</h3>
<textarea onkeyup="checkLen(this)"></textarea>
<div>您还可以输入 <span id="count">200</span> 个文字</div>

<script type="text/javascript">
function checkLen(obj)

var maxChars = 200;//最多字符数
if (obj.value.length > maxChars)
obj.value = obj.value.substring(0,maxChars);
var curr = maxChars - obj.value.length;
document.getElementByIdx_x("count").innerHTML = curr.toString();

</script>
[提示:你可先修改部分代码,再按运行]

方法二:显示已经用字数和剩余字数

<script>
function cal()
if(a.value.length>20)
a.value=a.value.slice(0,20);
b.value=20;
c.value=0;

else
b.value=a.value.length;
c.value=20-eval_r(b.value);


</script>
<textarea id="a" onpropertychange="cal()"></textarea>
已有字数:<input id=b size=5 value="0" disabled>
剩余字数:<input id=c size=5 value="20" disabled><br>
[提示:你可先修改部分代码,再按运行]

方法三:支持双字节

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 文本框textarea限制输入文字个数的方法 - 中国asp之家</TITLE>
</HEAD>
<BODY>
<textarea onkeyup="cls(this,50,'v')" oncontextmenu="cls(this,50,'v')"></textarea>
<span id="v"></span>
<script type="text/javascript">
function cls(obj,max,v)
var reg=/[^x00-xff]/gm;
var str=obj.value.replace(reg,'aa');//全换成单字节字符计算
var v=document.getElementByIdx_x('v');

if(str.length>max)
var n=0,strr=[];
for(var i=0;i<obj.value.length;i++)//得到50字节以内的字符
/[^x00-xff]/.test(obj.value.charAt(i))?n+=2:n+=1;
if(n>max)break;
strr.push(obj.value.charAt(i));

obj.value=strr.join('');
v.innerHTML=0;
else
v.innerHTML=max-str.length;


</script>
</BODY>
</HTML>
[提示:你可先修改部分代码,再按运行]

以上是关于jquery 验证文本框限制输入文字的主要内容,如果未能解决你的问题,请参考以下文章

用jquery怎么验证名字在输入完之后马上提示有没有重复的代码

前端jquery怎么限制文本框输入数字的大小

javascript怎么禁止在文本框中输入?

JQUERY 一个文本框,限制只能输入百分比或者货币类型

js验证如何限制文本框只能输入数字

js验证如何限制文本框只能输入数字