【发布时间】:2012-11-18 03:30:15
【问题描述】:
我有一个用户可以输入坐标的应用。
在 DB 和大多数映射软件中,它们使用十进制表示法来表示 lat/lng(例如 123.1234)而不是旧格式:34N 40' 50.12"
我需要测试输入到表单中的值是浮点数,而不是字符串。但是在 34N 40' 50.12" 上使用 parseFloat 会返回 34-- 这可以使用大多数测试进行验证。
这就是我正在尝试的,这是在这里找到的一些非常聪明的解决方案的混搭——但到目前为止,我无法让这个东西在所有情况下都能正常工作。我正在测试的基本案例是:
-
123.1234-- 有效 -
'123.1234'-- 有效 -
34N 40' 50.12"-- 无效 -
'34N 40' 50.12"'-- 无效 -
123--有效 -
'123'-- 有效
这是我一直在尝试的一个 jsfiddle:http://jsfiddle.net/zfwAj/
【问题讨论】:
-
isNaN应该可以过滤掉那些:jsfiddle.net/QYMRe -
@JosephMarikle 您应该添加它作为答案,这是测试它的最简单方法。
-
@JosephMarikle 同意。把它放上来,我会投票的:)
标签: javascript type-conversion