js 判断一个字符在字符串中出现的次数? ad j as kdj ask lj求空格的个数,用循环和判断 怎么写

JavaScript08

js 判断一个字符在字符串中出现的次数? ad j as kdj ask lj求空格的个数,用循环和判断 怎么写,第1张

var times = 0

'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 + '个')