javascript 統(tǒng)計(jì)輸入框英文字母?jìng)€(gè)數(shù)、數(shù)字個(gè)數(shù)、中文個(gè)數(shù)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>統(tǒng)計(jì)英文字母和中文個(gè)數(shù)</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;
}
//匹配數(shù)字
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 = "英文字母的個(gè)數(shù)為:" + letterCount + "<br /><br />數(shù)字的個(gè)數(shù)為:"
+ numberCount + "<br /><br />中文的個(gè)數(shù):" + chineseCount;
document.getElementById("result").innerHTML = result;
}
</script>
</HEAD>
<BODY>
<input type="text" id="myText" style="width: 300px;" />
<input type="button" id="verify" value="統(tǒng)計(jì)" onclick="myCount();" />
<br>
<br>
<h3>
結(jié)果:
</h3>
<div id="result" style="width: 300px; padding: 10px; overflow: hidden;"></div>
</BODY>
</HTML>
據(jù)我所知,javascript只能通過 /[^\u4e00-\u9fa5]/g 匹配出所有英文,不能直接匹配中文,因此只有用整個(gè)字符串的長(zhǎng)度減去數(shù)字個(gè)數(shù)再減去除中文外其余字符的個(gè)數(shù)就得出中文的個(gè)數(shù)
可能我水平有限,用了這么齷齪的一個(gè)方法,如有更好、更直接,請(qǐng)大家踴躍給我!
<HTML>
<HEAD>
<TITLE>統(tǒng)計(jì)英文字母和中文個(gè)數(shù)</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;
}
//匹配數(shù)字
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 = "英文字母的個(gè)數(shù)為:" + letterCount + "<br /><br />數(shù)字的個(gè)數(shù)為:"
+ numberCount + "<br /><br />中文的個(gè)數(shù):" + chineseCount;
document.getElementById("result").innerHTML = result;
}
</script>
</HEAD>
<BODY>
<input type="text" id="myText" style="width: 300px;" />
<input type="button" id="verify" value="統(tǒng)計(jì)" onclick="myCount();" />
<br>
<br>
<h3>
結(jié)果:
</h3>
<div id="result" style="width: 300px; padding: 10px; overflow: hidden;"></div>
</BODY>
</HTML>
據(jù)我所知,javascript只能通過 /[^\u4e00-\u9fa5]/g 匹配出所有英文,不能直接匹配中文,因此只有用整個(gè)字符串的長(zhǎng)度減去數(shù)字個(gè)數(shù)再減去除中文外其余字符的個(gè)數(shù)就得出中文的個(gè)數(shù)
可能我水平有限,用了這么齷齪的一個(gè)方法,如有更好、更直接,請(qǐng)大家踴躍給我!
posted @ 2012-04-15 11:10 人地個(gè)仔 閱讀(574) | 評(píng)論 (0) | 編輯 收藏