我已经学会了一些基本的正则表达式来润湿我的脚,但对我来说这仍然有点复杂。我需要一组十进制度(例如)用户输入的坐标:使用正则表达式/ preg_match()来检查一组十进制度的坐标是否有效
$latitude = -42.323432 $longitude = 176.232123
,并检查它们是否有效使用PHP的preg_match()
功能。看起来很简单,但我不能为我的生活编写正则表达式,以确保没有错误的数据通过。我将检查彼此分开的北向和东向,因此preg_match()
将使用foreach
循环迭代两次。
我想我已经想通了所有必要条件:
- 第一个字符可以是一个,减,加,或一个数字。缺点和加号是可选的。
- 小数点前的数字总数可以是1到3,但不是0或大于3.
- 因此,第二位或第四位必须有一个小数点。 (2.2332,-123.422)
- 整个字符串中必须有一个小数点,在整个字符串中可以有0个或1个小数点或加号。
- 我希望在小数点后至少有3位小数的精度。没有最大限制(我会简单地将它自己调整为6 dp)
- 如果除了数字,小数点和可选的正负号之外还有任何字符,请拒绝它。
在此之后,我卡住了!任何帮助,将不胜感激编写正则表达式。谢谢...
显示您的正则表达式到现在为止。 – 2013-03-14 07:42:44
我......我没有。这就是我问的原因。 – ReactingToAngularVues 2013-03-14 07:44:48
你可以去[is_numeric](http://php.net/is_numeric) – Dale 2013-03-14 07:45:01