用于检查字符串是否为包括十进制数字在内的正则表达式

时间:2019-01-25 03:12:27

标签: regex

我要检查字符串是否是数字。在我的情况下,可接受的数字范围与带有小数点的大数之类的相差很大;

header('Content-Type: application/json');

echo json_encode(array(
    "age" => 4,
    "name" => "baby",
));

上面的值应该匹配!

不匹配的值是;

100000000000000000.000000000000000001
1
25.9897

我该如何处理?

1 个答案:

答案 0 :(得分:1)

^\d+(\.\d+)?$

任意长度的数字\d+,然后是一些可选的小数部分(\.\d+)?
利用行锚^$过滤e19

这样的案例也很重要

可能的问题可能是类似的值; 010.5,领先的0可能会有问题,可以接受吗?否则,将使用尾随0来过滤值的方法; ^[1-9]\d*(\.\d+)?$。仅供参考

see it on regex101