经纬度验证的输入模式



我正在尝试获取HTML5输入模式属性来验证经纬度字符串,如下所示:[29.771620257395901,-95.4293158327673]

似乎无法正确表达安静。。。

<input type="text" name="latlon" pattern="/[[+-]?([0-9]*[.])?[0-9]+,[+-]?([0-9]*[.])?[0-9]+$/" />

纬度应介于-90到90之间经度应介于-180到180之间

因此,下面的正则表达式将有助于验证纬度和经度的有效范围

[(+|-|)(([0-8]d?)(.d+)?|90(.0+)?),(+|-|)((d?d|1[0-7]d)(.d+)?|180(.0+)?)]

测试用例

[89.438483,67.348389] -  Valid
[90.39393,178.000] -  Invalid
[0.347347,78.49494] - Valid
[-20.5858,90.889] - Valid
[-78,-179] - Valid
[-78.48348,180.00] - Valid
[-78.384844,180.44] - Invalid

Regex演示-https://regexr.com/61rnl

您可以使用

[[+-]?[0-9]*.?[0-9]+,[+-]?[0-9]*.?[0-9]+]

注意,对于所有可选部件,它也可以匹配.42931508327673

Regex演示

最新更新