Javascript检查浮动

时间:2012-11-29 22:54:24

标签: javascript type-conversion

我有一个用户输入坐标的应用程序。

在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' - 有效

以下是我一直在尝试的内容:http://jsfiddle.net/zfwAj/

3 个答案:

答案 0 :(得分:3)

似乎我应该发布一个答案

isNaN()应该可以过滤掉那些jsfiddle.net/QYMRe

答案 1 :(得分:0)

尝试

/^\d+\.?\d*$/.test( str );

小提琴here

答案 2 :(得分:0)

我建议这个:

worker.RunWorkerCompleted += worker_RunWorkerCompleted;

这接受负数,并像(.42)

一样浮动

Fiddle测试