我有一个用户输入坐标的应用程序。
在 DB 和大多数地图软件中,他们使用十进制表示法来表示 lat/lng(例如123.1234
),而不是旧格式:34N 40' 50.12"
我需要测试输入到表单中的值是浮点数,而不是字符串。但是在34N 40' 50.12"
返回 34 上使用 parseFloat - 这可以使用大多数测试进行验证。
这就是我正在尝试的,这是在这里找到的一些非常聪明的解决方案的混搭——但到目前为止,我无法让这个东西在所有情况下都能正常工作。我正在测试的基本案例是:
123.1234
- 有效的'123.1234'
- 有效的34N 40' 50.12"
- 无效的'34N 40' 50.12"'
- 无效的123
- 有效的'123'
- 有效的
这是我一直在尝试的一个 jsfiddle:http: //jsfiddle.net/zfwAj/