能否用javascript做这道题:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'\n'.... 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n'.
展开
 我来答
侨阳曦40
2012-05-01 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:150万
展开全部
这个方法可以搞定你的要求, 才给10分有点少哈

var str = prompt('请输入一串字符');
//var str = document.getElementById('textarea').value;
if (str.indexOf('\n') > 0) {
str = str.substring(0, str.indexOf('\n'));
}

var numCount = 0, caCount = 0, spaceCount = 0, cnCount = 0, otherCount = 0;

//首先来区分数字
var res = str.match(/\d/g);
if (res != null) {
numCount = ((res + '').split(',')).length;
//将所有的数字替换掉,便于下面的计算
str = str.replace(/\d+/g, '');
}

//区分字母
res = str.match(/[a-zA-Z]/g);
if (res != null) {
caCount = ((res + '').split(',')).length;
//将所有的字母替换掉,便于下面的计算
str = str.replace(/[a-zA-Z]/g, '');
}

//区分中文
res = str.match(/[^\x00-\xff]/g);
if (res != null) {
cnCount = ((res + '').split(',')).length;
str = str.replace(/[^\x00-\xff]/g, '');
}

//区分空格
res = str.match(/\s/g);
if (res != null) {
spaceCount = ((res + '').split(',')).length;
str = str.replace(/\s/g, '');
}

//剩下的就是其他的符号和看不懂的外文
otherCount = str.length;

alert('您输入的字符中包含: 数字' + numCount + '个;英文' + caCount + '个;中文:' + cnCount + '个;空格' + spaceCount + '个,其它符号' + otherCount + '个')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式