第1个回答 2014-09-04
代码如下(经测通过):
<?php$str="((1+1)*3.3)/10-12+(1+1)";if(preg_match("/[\+\-\*\/\.]{2}|[^\+\-\*\/\(\)\d\.]+/i", $str, $matches)){ echo '非法算式';} else { if(substr_count($str,"(")==substr_count($str,")")){ echo '合法算式'; } else { echo '括号不匹配'; }}?>
判断str里是否存在连续运算符、小数点或运算符、括号、数字以外的字符
若存在则非法
若不存在则判断str里( 和 )数量是否一致
打字不易,如满意,望采纳。