Preg匹配仅验证带符号+或-的整数或小数
我如何创建仅接受十进制数字的preg_match,而十进制数字只能在数字开始时才具有+或-?
我举了以下例子:
5 true
4.4 true
+5 是
+4.4 是
-5 true
-4.4 true
4.4- false
4.4+ false
现在我有一个preg_match函数,可以实现此功能,但是问题是我可以在数字的任何部分输入符号(。+-),而我只需要符号(+-)即可放在开头,如果是十进制,则为小数点。
preg_match('/^[0-9.+]+$/', $value)
感谢朋友。
答案 0 :(得分:1)
将我的评论转换为答案。
您可以使用此正则表达式在开始时将+
或-
设置为可选。
^[+-]?\d*\.?\d+$
正则表达式说明
^
:开始[+-]?
:匹配可选的+
或-
\d*\.?\d+
:匹配整数或十进制数字$
:结束