预匹配仅验证数字整数或带符号 + 或 - 的小数

Preg match to validate only numbers integer or decimals with sign + or -

Preg 匹配仅验证带符号 + 或 - 的整数或小数

我如何创建一个 preg_match 只接受可以有(或没有)+ 或 - 的十进制数字?

我举例如下:

5

4.4

+5

+4.4

-5

-4.4


4.4-

4.4+

目前我有一个preg_match函数可以让我实现这个,但问题是我可以在数字的任何部分输入符号(。+ -),我只需要符号 (+ -) 在开头,如果是十进制则在点。

preg_match('/^[0-9.+]+$/', $value)

谢谢朋友

正在将我的评论转换为答案。

您可以使用此正则表达式使 +- 在开始时可选。

^[+-]?\d*\.?\d+$

RegEx Demo

正则表达式解释:

  • ^: 开始
  • [+-]?:匹配可选的+-
  • \d*\.?\d+:匹配一个整数或小数
  • $:结束