Php 表示礼物的正则表达式&;只有数字
我需要在PHP中验证一个数字,特别是在slug中传递的一个DB ID,但似乎无法正确获取正则表达式 我不能使用Php 表示礼物的正则表达式&;只有数字,php,regex,Php,Regex,我需要在PHP中验证一个数字,特别是在slug中传递的一个DB ID,但似乎无法正确获取正则表达式 我不能使用is\u numeric(),因为它不过滤我需要的数字,这与ctype\u digit() 它大部分工作正常,但我也需要在正则表达式中测试一个值,FALSE和'都返回为有效值 我试过返回!preg_match(“/[^0-9]{1}/”,$val)检查有效长度(不是值)1,但我似乎无法正确获取它 我已从中签出示例和注释,但无法使任何示例代码正常工作 是否有人知道当前的正则表达式,并且只知
is\u numeric()
,因为它不过滤我需要的数字,这与ctype\u digit()
它大部分工作正常,但我也需要在正则表达式中测试一个值,FALSE
和'
都返回为有效值
我试过返回!preg_match(“/[^0-9]{1}/”,$val)代码>检查有效长度(不是值)1,但我似乎无法正确获取它
我已从中签出示例和注释,但无法使任何示例代码正常工作
是否有人知道当前的正则表达式,并且只知道数字 为什么要双重反转逻辑。最简单的方法是断言整个字符串由数字组成(精确地说是1个或多个数字):
或
为什么要双重颠倒逻辑呢。最简单的方法是断言整个字符串由数字组成(精确地说是1个或多个数字):
或
试试这个:
return !preg_match("^[0-9]+$",$val);
试试这个:
return !preg_match("^[0-9]+$",$val);
a) 您需要删除代码>否则你会得到OP想要的相反结果。b) 字符串中缺少分隔符。c) 如果你添加了它们,很遗憾,这正是我的答案。好吧,谢谢你的建议,我没有机器来测试它,只需将表达式放进去,你就不能有意义地使用JavaScript正则表达式测试仪来测试PHP问题了。对于这个简单的例子,这可能无关紧要,但总的来说,两个正则表达式引擎之间存在巨大的差异。是的,我知道。就像你说的,这是其中一个没有巨大差异的案例。无论如何,下次我会记住的。a)你需要删除代码>否则你会得到OP想要的相反结果。b) 字符串中缺少分隔符。c) 如果你添加了它们,很遗憾,这正是我的答案。好吧,谢谢你的建议,我没有机器来测试它,只需将表达式放进去,你就不能有意义地使用JavaScript正则表达式测试仪来测试PHP问题了。对于这个简单的例子,这可能无关紧要,但总的来说,两个正则表达式引擎之间存在巨大的差异。是的,我知道。就像你说的,这是其中一个没有巨大差异的案例。不管怎样,下次我会记住的。甜心,很好用!我之前尝试过类似的方法,但我的方法是:returnpreg\u match(“/[^0-9]+$/”,$val)代码>谢谢!!!我想我必须咬紧牙关,一劳永逸地学习正则表达式@请考虑接受答案,向未来的访问者展示你的问题已经解决了。如果你的老问题已经得到了充分的回答,同样的道理也适用于你的老问题!我之前尝试过类似的方法,但我的方法是:returnpreg\u match(“/[^0-9]+$/”,$val)代码>谢谢!!!我想我必须咬紧牙关,一劳永逸地学习正则表达式@请考虑接受答案,向未来的访问者展示你的问题已经解决了。如果你的老问题得到了充分的回答,同样的情况也会发生。
return preg_match('/^\d+$/', $val);
return !preg_match("^[0-9]+$",$val);