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了 还是相等的就说明是回文数
懂吧 自己想想这个算法,自己写下试试,如果还是不行的话我再给你写算法
这个过程要自己熟练 最重要的是算法 这样你才知道怎么写