js實例教程-統計jQuery中各字符串出現次數的工具

发布时间:2018-11-23 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了js實例教程-統計jQuery中各字符串出現次數的工具脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小寶典致力於為廣大程序猿(媛)提供高品質的代碼服務,請大家多多光顧小站,小寶典在此謝過。

代碼如下:

<!DOCTYPE htML PubLIC "-//W3C//DTD XHTML 1.0 TransITional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html XMlns="https://www.w3.org/1999/xhtml">
<head>
<;meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>工具:統計jQuery中各字符串出現次數</title>
<script src="https://demo.jb51.net/jslib/jquery/jquery.js" type="text/javascript"></script>
</head>
<body>
<p>文件(將jQuery源碼複製到下面的文本域):</p>
<p><textarea id="myjquery" style="width: 510px; height: 250px; padding: 2px;">..</textarea></p>
<p><input id="myBTn2" style="position: relative; left: 349px;" type="button" value="統計所有字符串出現次數" /></p>
<p id="myshow2" style="width: 500px; height: 250px; border: 1px dotted #8B8D72; overflow: auto; padding: 5px;"> </p>
<p> </p>
<p><label for="myinput">字符串:<input id="myinput" type="text" /> <input id="mybtn1" style="position: relative; left: 130px;" type="button" value="統計單個字符串出現次數"
/> </label></p>
<p id="myshow1" style="width: 500px; height: 100px; border: 1px dotted #8B8D72; overflow: auto; padding: 5px;"> </p>
<p> </p>
<p>點擊“統計所有字符出現次數”按鈕后發現,字符串“string”竟然出現了44次,多數是諸如以下的代碼</p>
<p class="cnblogs_Highlighter">
<PRe class="brush:javascript;gutter:true;">typeof selector === "string"
typeof data !== "string"
type === "string"
typeof context === "string"
getByName = typeof name === "string"
// ...
</pre>
</p>
<p>  </p>
<p>如果使用一個變量替換,使用工具壓縮時將會進一步減少文件的大小。</p>
<p> </p>
<p> </p>
<script type="text/javascript">// <![CDATA[
setTimeout(function(){
function buildRe(keywords) {
VAR rObj = {};

if (keywords.constructor !== Array) {
return;
}

keywords.foreach(function(it) {
rObj[it] = RegExp(''+it, 'g');
});

return rObj;
}
function count(rObj, source, callback, sortType) {
var r,
rarr,
num,
type,
func,
result = [];

var subCount = function(arr) {
var i, re, num, resu;
i = num = 0;

for (i; i<arr.length; i++) {
re = arr[i];
while( (resu=re.exec(source)) != null ) {
num++;
}
}

return num;
};

for (type in rObj) {
rarr = rObj[type];

if (rarr.constructor !== Array) {
rarr = [rarr];
}

num = subCount(rarr);
result.push({type: type, num: num});
}

// sort 0:次數順序 1:次數倒序
if (typeof sortType !== 'undefined') {
if (sortType===0) {
func = function(a, b) {
return a.num - b.num;
};
} else if (sortType===1) {
func = function(a, b) {
return b.num - a.num;
};
}
result.sort(func);
}

callback(result);

}
function main(keywords, source, callback, sortType) {
var rObj = keywords.constructor === Array ? buildRe(keywords) : keywords;
count(rObj, source, callback, sortType);
}
var rObj = {
string: [//'string/'/g, //"string/"/g],
number: [//'number/'/g, //"number/"/g],
'boolean': [//'boolean/'/g, //"boolean/"/g],
object: [//'object/'/g, //"object/"/g],
'undefined': [//'undefined/'/g, //"undefined/"/g],
'function': [//'function/'/g, //"function/"/g],
'array': [//'array/'/g, //"array/"/g],
'ready': [//'ready/'/g, //"ready/"/g],
input: [//'input/'/g, //"input/"/g],
type: [//'type/'/g, //"type/"/g],
text: [//'text/'/g, //"text/"/g],
radio: [//'radio/'/g, //"radio/"/g],
checkbox: [//'checkbox/'/g, //"checkbox/"/g],
password: [//'password/'/g, //"password/"/g],
submit: [//'submit/'/g, //"submit/"/g],
button: [//'button/'/g, //"button/"/g],
id: [//'id/'/g, //"id/"/g],
p: [//'p/'/g, //"p/"/g],
body: [//'body/'/g, //"body/"/g],
html: [//'html/'/g, //"html/"/g],
HTML: [//'HTML/'/g, //"HTML/"/g],
parentNode: [//'parentNode/'/g, //"parentNode/"/g],
nextSibling: [//'nextSibling/'/g, //"nextSibling/"/g],
iframe: [//'iframe/'/g, //"iframe/"/g],
before: [//'before/'/g, //"before/"/g],
after: [//'after/'/g, //"after/"/g],
script: [//'script/'/g, //"script/"/g],
width: [//'width/'/g, //"width/"/g],
height: [//'height/'/g, //"height/"/g],
top: [//'top/'/g, //"top/"/g],
left: [//'left/'/g, //"left/"/g],
absolute: [//'absolute/'/g, //"absolute/"/g],
relative: [//'relative/'/g, //"relative/"/g],
'static': [//'static/'/g, //"static/"/g],
fixed: [//'fixed/'/g, //"fixed/"/g],
href: [//'href/'/g, //"href/"/g],
border: [//'border/'/g, //"border/"/g],
margin: [//'margin/'/g, //"margin/"/g],
marginTop: [//'marginTop/'/g, //"marginTop/"/g],
marginBottom: [//'marginBottom/'/g, //"marginBottom/"/g],
marginLeft: [//'marginLeft/'/g, //"marginLeft/"/g],
marginRight: [//'marginRight/'/g, //"marginRight/"/g],
padding: [//'padding/'/g, //"padding/"/g],
paddingTop: [//'paddingTop/'/g, //"paddingTop/"/g],
paddingLeft: [//'paddingLeft/'/g, //"paddingLeft/"/g],
paddingRight: [//'paddingRight/'/g, //"paddingRight/"/g],
display: [//'display/'/g, //"display/"/g],
olddisplay: [//'olddisplay/'/g, //"olddisplay/"/g],
none: [//'none/'/g, //"none/"/g],
hidden: [//'hidden/'/g, //"hidden/"/g],
inline: [//'inline/'/g, //"inline/"/g],
opacity: [//'opacity/'/g, //"opacity/"/g],
show: [//'show/'/g, //"show/"/g],
hide: [//'hide/'/g, //"hide/"/g],
toggle: [//'toggle/'/g, //"toggle/"/g],
json: [//'json/'/g, //"json/"/g],
success: [//'success/'/g, //"success/"/g],
fxshow: [//'fxshow/'/g, //"fxshow/"/g],
fx: [//'fx/'/g, //"fx/"/g],
'.run': [//'.run/'/g, //".run/"/g],
'http:': [//'http:/'/g, //"http:/"/g],
error: [//'error/'/g, //"error/"/g],
abort: [//'abort/'/g, //"abort/"/g],
GET: [//'GET/'/g, //"GET/"/g],
POST: [//'POST/'/g, //"POST/"/g],
get: [//'get/'/g, //"get/"/g],
filter: [//'filter/'/g, //"filter/"/g],
px: [//'px/'/g, //"px/"/g]
};
function callback1(result) {
var obj = result[0];
var myshowEL = $('#myshow1');
myshowEL = myshowEL.empty();
myshowEL.append('<p>' + obj.type + ': <span style="color: blue;">' + obj.num + '</span></p>');
}
function callback2(result) {
var myshowEL = $('#myshow2');
myshowEL = myshowEL.empty();
for (var i=0; i<result.length; i++) {
var obj = result[i];
myshowEL.append('<p>"' + obj.type + '": <span style="color: blue;">' + obj.num + '</span></p>');
}
}
$('#mybtn1').click(function(){
var $txtarea = $('#myjquery');
var source = $txtarea.val();
var val = $('#myinput').val();
if (val == '' || val.length<2) {
alert('至少兩個字符');
return;
}
var keywords = [val];
main(keywords, source, callback1, 1)
});
$('#mybtn2').click(function(){
var $txtarea = $('#myjquery');
var source = $txtarea.val();
main(rObj, source, callback2, 1);
});

}, 1000);
// ]]></script>
</body>
</html>

代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>工具:統計jQuery中各字符串出現次數</title>
<script src="https://demo.jb51.net/jslib/jquery/jquery.js" type="text/javascript"></script>
</head>
<body>
<p>源文件(將jQuery源碼複製到下面的文本域):</p>
<p><textarea id="myjquery" style="width: 510px; height: 250px; padding: 2px;">..</textarea></p>
<p><input id="mybtn2" style="position: relative; left: 349px;" type="button" value="統計所有字符串出現次數" /></p>
<p id="myshow2" style="width: 500px; height: 250px; border: 1px dotted #8B8D72; overflow: auto; padding: 5px;"> </p>
<p> </p>
<p><label for="myinput">字符串:<input id="myinput" type="text" /> <input id="mybtn1" style="position: relative; left: 130px;" type="button" value="統計單個字符串出現次數"
/> </label></p>
<p id="myshow1" style="width: 500px; height: 100px; border: 1px dotted #8B8D72; overflow: auto; padding: 5px;"> </p>
<p> </p>
<p>點擊“統計所有字符出現次數”按鈕后發現,字符串“string”竟然出現了44次,多數是諸如以下的代碼</p>
<p class="cnbLOGs_Highlighter">
<pre class="brush:javascript;gutter:true;">typeof selector === "string"
typeof data !== "string"
type === "string"
typeof context === "string"
getByName = typeof name === "string"
// ...
</pre>
</p>
<p>  </p>
<p>如果使用一個變量替換,使用工具壓縮時將會進一步減少文件的大小。</p>
<p> </p>
<p> </p>
<script type="text/javascript">// <![CDATA[
setTimeout(function(){
function buildRe(keywords) {
var rObj = {};

if (keywords.constructor !== Array) {
return;
}

keywords.forEach(function(it) {
rObj[it] = RegExp(''+it, 'g');
});

return rObj;
}
function count(rObj, source, callback, sortType) {
var r,
rarr,
num,
type,
func,
result = [];

var subCount = function(arr) {
var i, re, num, resu;
i = num = 0;

for (i; i<arr.length; i++) {
re = arr[i];
while( (resu=re.exec(source)) != null ) {
num++;
}
}

return num;
};

for (type in rObj) {
rarr = rObj[type];

if (rarr.constructor !== Array) {
rarr = [rarr];
}

num = subCount(rarr);
result.push({type: type, num: num});
}

// sort 0:次數順序 1:次數倒序
if (typeof sortType !== 'undefined') {
if (sortType===0) {
func = function(a, b) {
return a.num - b.num;
};
} else if (sortType===1) {
func = function(a, b) {
return b.num - a.num;
};
}
result.sort(func);
}

callback(result);

}
function main(keywords, source, callback, sortType) {
var rObj = keywords.constructor === Array ? buildRe(keywords) : keywords;
count(rObj, source, callback, sortType);
}
var rObj = {
string: [//'string/'/g, //"string/"/g],
number: [//'number/'/g, //"number/"/g],
'boolean': [//'boolean/'/g, //"boolean/"/g],
object: [//'object/'/g, //"object/"/g],
'undefined': [//'undefined/'/g, //"undefined/"/g],
'function': [//'function/'/g, //"function/"/g],
'array': [//'array/'/g, //"array/"/g],
'ready': [//'ready/'/g, //"ready/"/g],
input: [//'input/'/g, //"input/"/g],
type: [//'type/'/g, //"type/"/g],
text: [//'text/'/g, //"text/"/g],
radio: [//'radio/'/g, //"radio/"/g],
checkbox: [//'checkbox/'/g, //"checkbox/"/g],
password: [//'password/'/g, //"password/"/g],
submit: [//'submit/'/g, //"submit/"/g],
button: [//'button/'/g, //"button/"/g],
id: [//'id/'/g, //"id/"/g],
p: [//'p/'/g, //"p/"/g],
body: [//'body/'/g, //"body/"/g],
html: [//'html/'/g, //"html/"/g],
HTML: [//'HTML/'/g, //"HTML/"/g],
parentNode: [//'parentNode/'/g, //"parentNode/"/g],
nextSibling: [//'nextSibling/'/g, //"nextSibling/"/g],
iframe: [//'iframe/'/g, //"iframe/"/g],
before: [//'before/'/g, //"before/"/g],
after: [//'after/'/g, //"after/"/g],
script: [//'script/'/g, //"script/"/g],
width: [//'width/'/g, //"width/"/g],
height: [//'height/'/g, //"height/"/g],
top: [//'top/'/g, //"top/"/g],
left: [//'left/'/g, //"left/"/g],
absolute: [//'absolute/'/g, //"absolute/"/g],
relative: [//'relative/'/g, //"relative/"/g],
'static': [//'static/'/g, //"static/"/g],
fixed: [//'fixed/'/g, //"fixed/"/g],
href: [//'href/'/g, //"href/"/g],
border: [//'border/'/g, //"border/"/g],
margin: [//'margin/'/g, //"margin/"/g],
marginTop: [//'marginTop/'/g, //"marginTop/"/g],
marginBottom: [//'marginBottom/'/g, //"marginBottom/"/g],
marginLeft: [//'marginLeft/'/g, //"marginLeft/"/g],
marginRight: [//'marginRight/'/g, //"marginRight/"/g],
padding: [//'padding/'/g, //"padding/"/g],
paddingTop: [//'paddingTop/'/g, //"paddingTop/"/g],
paddingLeft: [//'paddingLeft/'/g, //"paddingLeft/"/g],
paddingRight: [//'paddingRight/'/g, //"paddingRight/"/g],
display: [//'display/'/g, //"display/"/g],
olddisplay: [//'olddisplay/'/g, //"olddisplay/"/g],
none: [//'none/'/g, //"none/"/g],
hidden: [//'hidden/'/g, //"hidden/"/g],
inline: [//'inline/'/g, //"inline/"/g],
opacity: [//'opacity/'/g, //"opacity/"/g],
show: [//'show/'/g, //"show/"/g],
hide: [//'hide/'/g, //"hide/"/g],
toggle: [//'toggle/'/g, //"toggle/"/g],
json: [//'json/'/g, //"json/"/g],
success: [//'success/'/g, //"success/"/g],
fxshow: [//'fxshow/'/g, //"fxshow/"/g],
fx: [//'fx/'/g, //"fx/"/g],
'.run': [//'.run/'/g, //".run/"/g],
'http:': [//'http:/'/g, //"http:/"/g],
error: [//'error/'/g, //"error/"/g],
abort: [//'abort/'/g, //"abort/"/g],
GET: [//'GET/'/g, //"GET/"/g],
POST: [//'POST/'/g, //"POST/"/g],
get: [//'get/'/g, //"get/"/g],
filter: [//'filter/'/g, //"filter/"/g],
px: [//'px/'/g, //"px/"/g]
};
function callback1(result) {
var obj = result[0];
var myshowEL = $('#myshow1');
myshowEL = myshowEL.empty();
myshowEL.append('<p>' + obj.type + ': <span style="color: blue;">' + obj.num + '</span></p>');
}
function callback2(result) {
var myshowEL = $('#myshow2');
myshowEL = myshowEL.empty();
for (var i=0; i<result.length; i++) {
var obj = result[i];
myshowEL.append('<p>"' + obj.type + '": <span style="color: blue;">' + obj.num + '</span></p>');
}
}
$('#mybtn1').click(function(){
var $txtarea = $('#myjquery');
var source = $txtarea.val();
var val = $('#myinput').val();
if (val == '' || val.length<2) {
alert('至少兩個字符');
return;
}
var keywords = [val];
main(keywords, source, callback1, 1)
});
$('#mybtn2').click(function(){
var $txtarea = $('#myjquery');
var source = $txtarea.val();
main(rObj, source, callback2, 1);
});

}, 1000);
// ]]></script>
</body>
</html>

覺得可用,就經常來吧!Javascript技巧 腳本寶典 歡迎評論哦!&nbsp;js技巧,巧奪天工,精雕玉琢。小寶典獻醜了!

脚本宝典总结

以上是脚本宝典为你收集整理的js實例教程-統計jQuery中各字符串出現次數的工具全部内容,希望文章能够帮你解决js實例教程-統計jQuery中各字符串出現次數的工具所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。