使用js判断,字符串的括号是否闭合成对存在

大家在开发中,有时候会遇到,需要判断用户输入的指令是否完全,括号是否已经闭合

let sentence = '这是(一段)包含了((很多)括号的(字符串))'


function isCloseBrackets(s){
  let str = s.replace(/[^\(^\)]/g,'')
  let count = 0
  let flag = true

  for (let i in str) {
    console.log(i)
    if (str[i] === '(') {
      count++
    } else {
      count--
    }
    if (count < 0) {
      flag = false
      console.log('进了count <0 ', count)
      break
    }
    if (str.length === i && count !== 0) {
      console.log('结束时候count !== 0,', count)
      flag = false
    }
  }
  return flag
}

console.log('句子括号状态', isCloseBrackets?'关闭':'未关闭')

当flag返回false为字符串未闭合,返回true,则为括号闭合的字符串,

posted @ 2021-11-09 15:19  蠢钝如猪  阅读(1077)  评论(0编辑  收藏  举报