2012年4月15日

javascript 统计输入框英文字母个数、数字个数、中文个数

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>统计英文字母和中文个数</TITLE>
        <META NAME="Generator" CONTENT="EditPlus">
        <META NAME="Author" CONTENT="">
        <META NAME="Keywords" CONTENT="">
        <META NAME="Description" CONTENT="">
        <script>
            
function myCount() {
                
var content = document.getElementById("myText").value;
            
                
//匹配英文字母
                var reg1 = /[a-zA-z]/g;
                
var letterCount = 0;
                
if (content.match(reg1) != null) {
                    letterCount 
= content.match(reg1).length;
                }
            
                
//匹配数字
                var reg2 = /\d/g;
                
var numberCount = 0;
                
if (content.match(reg2) != null) {
                    numberCount 
= content.match(reg2).length;
                }
            
                
//匹配中文
                var reg3 = /[^\u4e00-\u9fa5]/g;
                
var englishCount = 0;
                
if (content.match(reg3) != null) {
                    englishCount 
= content.match(reg3).length;
                    
var chineseCount = content.length - englishCount - numberCount;
                }
            
                
var result = "英文字母的个数为:" + letterCount + "<br /><br />数字的个数为:"
                        
+ numberCount + "<br /><br />中文的个数:" + chineseCount;
                document.getElementById(
"result").innerHTML = result;
            }
</script>
    </HEAD>

    <BODY>
        <input type="text" id="myText" style="width: 300px;" />
        <input type="button" id="verify" value="统计" onclick="myCount();" />
        <br>
        <br>
        <h3>
            结果:
        </h3>
        <div id="result" style="width: 300px; padding: 10px; overflow: hidden;"></div>
    </BODY>
</HTML>

据我所知,javascript只能通过 /[^\u4e00-\u9fa5]/g 匹配出所有英文,不能直接匹配中文,因此只有用整个字符串的长度减去数字个数再减去除中文外其余字符的个数就得出中文的个数
可能我水平有限,用了这么龌龊的一个方法,如有更好、更直接,请大家踊跃给我!

posted @ 2012-04-15 11:10 人地个仔 阅读(567) | 评论 (0)编辑 收藏

<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜