使用javascript匹配括号

<html>
<head>匹配括号</head>
<script type="text/javascript">
function isBalanced(obj){//匹配括号
var leftNormal = '(';
var rightNormal = ')';
var leftCurly = '{';
var rightCurly = '}';
var leftSquare = '[';
var rightSquare = ']';
var data = [];
var flag = false;
var text = obj.innerText || obj.innerHTML || obj.value;
for(var i = 0 ; !flag && i < text.length ; i++){
switch(text.charAt(i)){
case leftNormal:
case leftCurly:
case leftSquare:
data.push(text.charAt(i));
break;
case rightNormal:
if(data.length == 0 || data.pop() != leftNormal)
flag = true;
break;
case rightCurly:
if(data.length == 0 || data.pop() != leftCurly)
flag = true;
break;
case rightSquare:
if(data.length == 0 || data.pop() != leftSquare)
flag = true;
break;
}
}
//return data.length == 0 && !flag;
alert(data.length == 0 && !flag);

}
</script>
<body>
<textarea id="text" cols="30" rows="6" onchange="isBalanced(this)" ></textarea>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值