gpt4 book ai didi

ruby-on-rails - 用于验证 Google map 纬度经度的 Rails 正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 07:40:23 24 4
gpt4 key购买 nike

我正在尝试对从 Google Maps API 传回的 latlng 对象执行 validates_format_of。我已经完美地设置了 map ,因此当我单击 map 中的一个点时,它会用 latlng 填充文本字段(看起来像这样:46.320615137905904、9.400520324707031)。我将此值作为字符串存储在数据库中(然后我将其解析出来以稍后在 map 上放置标记)但我需要将字符串的格式验证为两个 float (正数或负数),中间有一个逗号。

我知道这可以用正则表达式实现,但我一直没能找出正则表达式字符串来让它工作。

任何帮助将不胜感激!谢谢!杰夫

最佳答案

我是这样验证的:

var ck_lat = /^-?([1-8]?\d(?:\.\d{1,})?|90(?:\.0{1,6})?)$/;
var ck_lon = /^-?((?:1[0-7]|[1-9])?\d(?:\.\d{1,})?|180(?:\.0{1,})?)$/;
var lat = 89.320615;
var lon = 179.400520;

if(ck_lat.test(lat) && ck_lon.test(lon)) {
//Was a valid latitude and longitude pair :)
}

这是在开发阶段,但它工作正常,这里是测试正则表达式的链接:

检查纬度:http://rubular.com/r/vodC5TW3lG

检查经度:http://rubular.com/r/3LIIcjFEQT

编辑:感谢 Tim Kelly 的改进,这个捕获了 -90/-180,我认为现在已经完成了 :)链接和代码已编辑。

关于ruby-on-rails - 用于验证 Google map 纬度经度的 Rails 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com