为了账号安全,请及时绑定邮箱和手机立即绑定

PHP preg_match 使用正则表达式的简单数学表达式

PHP preg_match 使用正则表达式的简单数学表达式

PHP
胡说叔叔 2021-10-15 15:34:49
我想确保输入对于简单计算有效。因此,我只想让字符匹配这些0 到 9, + - * / ( )所以我有~[^0-9()+\-*/]~我的正则表达式。它在这里工作正常所以我在 PHP 中有这段代码。$exp = (1+2*3)+4;if(preg_match('~[^0-9()+\-*/]~', $exp)){  eval("echo $exp;");} else {  echo "Bad Expression!";}这给了我“糟糕的表达!”我在这里做错了什么?
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

使用以下正则表达式。您还需要转义除法 (/) 符号。


$exp = (1+2*3)+4;

if(preg_match('~^[0-9()+\-*\/]+$~', $exp)){

  eval("echo $exp;");

} else {

   echo "Bad Expression!";

}


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信