'ad j as kdj ask lj'.replace(/\s/g,function(){ times++ })
console.log(times)
// textarea的id为test,修改一下var t = document.getElementById('test')
t.onclick = function () {
var v = this.value
// 开始到光标位置的内容
var cv = ''
if ('selectionStart' in t) {
cv = v.substr(0, t.selectionStart)
} else {
var oSel = document.selection.createRange()
oSel.moveStart('character', -t.value.length)
cv = oSel.text
}
// 获取当前是几行
var cl = cv.split('\n').length - 1
// 当前行的内容
var clv = v.split('\n')[cl]
// 获取空格数量
var spaceCount = clv.replace(/^(\s*).*/, '$1').length
alert(spaceCount)
}
这个方法可以搞定你的要求, 才给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 + '个')