验证或检查JavaScript中字符串括号的编码

验证或检查JavaScript中字符串括号的编码,javascript,string,Javascript,String,如何检查JavaScript中的所有括号。。 verify(“--”(+++++)-----”)->1 验证(“”->1 验证(“之前(中间[])之后”)->1 验证(“”)(“”->0 验证(“}{”)->1//不,这不是错误。 验证(“)”->0 验证(([()])”->1 验证(“([)”)->0 我有verify(str)这将返回1或0。我只想检查字符串上的,{},[],()括号,然后任何人都可以为我执行此操作。谢谢尝试此操作 功能验证(str){ len=str.长度; b=[]

如何检查JavaScript中的所有括号。。

verify(“--”(+++++)-----”)->1
验证(“”->1
验证(“之前(中间[])之后”)->1
验证(“”)(“”->0
验证(“}{”)->1//不,这不是错误。
验证(“)”->0
验证(([()])”->1
验证(“([)”)->0
我有
verify(str)
这将返回1或0。我只想检查字符串上的
,{},[],()
括号,然后任何人都可以为我执行此操作。谢谢尝试此操作

功能验证(str){
len=str.长度;
b=[];
j=0;
f=0;
对于(变量i=0;i”),则为else{

如果(b[k]==”首先,删除所有不是
()
[]
。然后可以使用递归函数删除未嵌套的平衡对。如果删除所有平衡对后字符串为空,则该字符串有效。如果有效,则返回
1
,如果无效,则返回
0

功能验证(输入){
返回条带BalancedPairs(条带非条带(输入))?0:1;
}
功能条非空(输入){
返回输入。替换(/[^()[\]]+/g',);
}
功能条BalancedPairs(输入){
var str=input.replace(/\(\)\[]\[]\[]/g',);//remove(),[]或
返回str==input?str:stripBalancedPairs(str);
}
日志(验证(“--”(++++)+-----”);/->1
console.log(验证(“”);//->1
日志(验证(“之前(中间[])之后”);/->1
console.log(验证(“)(”);//->0
log(验证(“}{”);//->1
console.log(验证(“)”);//->0
console.log(验证(([()]));//->1

console.log(验证(“([)”);//->0
是否要检查是否存在对,即(
)?是的,我想这样,还有这个()[]({})如何
}{
有效?你说的是
{}
是需要检查的内容之一。我很震惊你居然让人为你工作,却没有提供任何尝试。@entropic我考虑过大惊小怪,但算法相当复杂,但仍然可行。你的代码非常重复。你应该使用另一个函数来处理重复部分,并创建一个循环。
verify("---(++++)----") -> 1
verify("") -> 1
verify("before ( middle []) after ") -> 1
verify(") (") -> 0
verify("} {") -> 1 //no, this is not a mistake.
verify("<(   >)") -> 0
verify("(  [  <>  ()  ]  <>  )") -> 1
verify("   (      [)") -> 0