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

JavaScript028

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

这个方法可以搞定你的要求, 才给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 + '个')

先判断字符串的长度是单数还是双数,如果是单独就把最中间的那个去掉

然后依次退一索引 加一索引对比

如果有不相同的就说明不是回文数,如果索引到0了 还是相等的就说明是回文数

懂吧 自己想想这个算法,自己写下试试,如果还是不行的话我再给你写算法

这个过程要自己熟练 最重要的是算法 这样你才知道怎么写