构建一个php计算器应用程序,我对如何处理特定情况感到有些困惑。
一般情况下,我使用09+0
通过正则表达式检查输入
我感到困惑的是如何涵盖/
的情况,我想确保没有数字在其右边有一个零,然后是一个数字。
在左侧,它可以是01+100
符号以外的任何内容。更多示例包括以下内容:33+011
,$input=$_GET["expr"];
$nospace_input=str_replace(' ', '', $input);
$input = str_replace('--','+',$input);
$correct_format=preg_match("/^[-.,0-9][-+*.\/, 0-9]+$/",$input);
if ($correct_format==0 && $nospace_input=="") {
//do nothing
}
elseif ($divby_zero==1) {
echo "Can't do div by zero!";
}
elseif($correct_format==1) {
$result = eval('return ' .$input. ';');
echo $input . " = " . $result;
}
else {
echo "Not valid";
}
等(基本上,我想让用户知道这是错误的输入,但很难确定检查它的最佳方法是什么。
编辑1(目前为止的代码):
{{1}}