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 人地个仔 阅读(560) | 评论 (0)编辑 收藏

仅列出标题  
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜