一天一个js(6)找出字符串中出现次数最多的字符
此方法不能测试正则表达式用到的字符比如$^.?\等
http://blog.csdn.net/qmzmxfy/article/details/7431488
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gbk">
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(function(){
- $("input:button").click(function(){
- count();
- });
- });
- function count(){
- var str = $("input:text").val();//获取输入框中的值
- var maxlength = 0;//定义最大次数
- //循环:每次都获取字符串第一个字符,并将其替换为空,获取其个数。直到字符串为空
- while(str != ""){
- var oldstr = str;//给字符串定义新变量
- letter = str.substr(0,1);//使用substr方法获得字符串第一个字符
- var str = str.replace(new RegExp(letter,"g"),"");//使用正则表达式将字符串中“跟第一个字符相同的字符”替换为空
- //“oldstr.length - str.length”是当前字符的个数,判断其是否大于前一个字符的个数
- if(oldstr.length - str.length > maxlength){
- maxlength = oldstr.length - str.length;//将当前字符个数赋给变量maxlength
- $("span").text(letter);
- $("em").text(maxlength);
- };
- };
- };
- </script>
- <style type="text/css">
- span,em { color:#933; padding:0 5px;}
- .text { width:500px;}
- </style>
- <title>找出字符串中出现次数最多的字符</title>
- </head>
- <body>
- <h2>输出一串字符,可以查找出字符串中出现次数最多的字符!</h2>
- <input class="text" type="text" value="" />
- <input type="button" value="查找" />
- <p>出现最多的是:“<span>查找中...</span>”,共出现了<em>计算中...</em>次。</p>
- </body>
- </html>