js如何判断输入字符串长度

js如何判断输入字符串长度

投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-16 我要评论

这篇文章主要介绍了js判断输入字符串长度,汉字算两个字符,字母数字算一个,感兴趣的小伙伴们可以参考一下

js判断输入字符串长度(汉字算两个字符,字母数字算一个)

文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。

废话不多说上代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
< html >
< head >
   < title >js判断输入字符串长度(汉字算两个字符,字母数字算一个)</ title >
   < style type = "text/css" >
     .pbt {
       margin-bottom: 10px;
     }
 
     .ie6 .pbt .ftid a, .ie7 .pbt .ftid a {
       margin-top: 1px;
     }
 
     .cl:after {
       clear: both;
       content: ".";
       display: block;
       height: 0;
       visibility: hidden;
     }
   </ style >
   < script type = "text/javascript" >
     //获取字符串长度(汉字算两个字符,字母数字算一个)
     function getByteLen(val) {
       var len = 0;
       for (var i = 0; i < val.length ; i++) {
         var a = val .charAt(i);
         if (a.match(/[^\x00-\xff]/ig) != null) {
           len += 2;
         }
         else {
           len += 1;
         }
       }
       return len;
     }
     // 只要键盘一抬起就验证编辑框中的文字长度,最大字符长度可以根据需要设定
     function checkLength(obj) {
       var maxChars = 80 ;//最多字符数  
       var curr = maxChars - getByteLen(obj.value);
       if (curr > 0) {
         document.getElementById("checklen").innerHTML = curr.toString();
       } else {
         document.getElementById("checklen").innerHTML = '0';
         document.getElementById("subject").readOnly = true;
       }
     }
   </ script >
</ head >
< body >
   < div class = "pbt cl" >
     < textarea id = "subject" maxlength = "80" onkeyup = "checkLength(this)" accesskey = "1" tabindex = "11" ></ textarea >
     < span id = "subjectchk" >还可输入
     < strong id = "checklen" style = "color: #FF0000" >80</ strong >
       个字符
     </ span >
     < span id = "postNameRule" class = "spn_flag_1" style = "display: none" ></ span >
   </ div >
</ body >
</ html >

以上就是js判断输入字符串长度的方法,希望对大家的学习有所帮助,学会如何判断输入字符串长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值