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

时间:2018-08-07 20:06:27

标签: php regex preg-match

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

我如何创建仅接受十进制数字的preg_match,而十进制数字只能在数字开始时才具有+或-?

我举了以下例子:

5 true

4.4 true

+5

+4.4

-5 true

-4.4 true


4.4- false

4.4+ false

  1. 错误

现在我有一个preg_match函数,可以实现此功能,但是问题是我可以在数字的任何部分输入符号(。+-),而我只需要符号(+-)即可放在开头,如果是十进制,则为小数点。

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

感谢朋友。

1 个答案:

答案 0 :(得分:1)

将我的评论转换为答案。

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

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

RegEx Demo

正则表达式说明

  • ^:开始
  • [+-]?:匹配可选的+-
  • \d*\.?\d+:匹配整数或十进制数字
  • $:结束