Javascript检查浮动
我有一个用户输入坐标的应用程序 在DB和大多数绘图软件中,他们使用lat/lng的十进制表示法(例如Javascript检查浮动,javascript,type-conversion,Javascript,Type Conversion,我有一个用户输入坐标的应用程序 在DB和大多数绘图软件中,他们使用lat/lng的十进制表示法(例如123.1234),而不是较旧的格式:34N 40'50.12” 我需要测试输入到表单中的值是否是一个浮点,而不是一个字符串。但是在34n40'50.12“上使用parseFloat返回34——这在大多数测试中都是有效的 这就是我正在尝试的,它是这里找到的一些非常聪明的解决方案的混合体——但到目前为止,我无法让它在所有情况下都正常工作。我正在测试的基本案例有: 123.1234——有效 '123
123.1234
),而不是较旧的格式:34N 40'50.12”
我需要测试输入到表单中的值是否是一个浮点,而不是一个字符串。但是在34n40'50.12“
上使用parseFloat返回34——这在大多数测试中都是有效的
这就是我正在尝试的,它是这里找到的一些非常聪明的解决方案的混合体——但到目前为止,我无法让它在所有情况下都正常工作。我正在测试的基本案例有:
——有效123.1234
--有效'123.1234'
--无效34N 40'50.12”
--无效'34N 40'50.12'
——有效123
--有效'123'
/^\d+\.?\d*$/.test( str );
Fiddle似乎我应该发布一个答案 应该努力过滤掉那些我建议这样做:
/^-?(\d*\.\d+|\d+(\.\d+)?)$/.test(str)
它接受负数,并像(.42)一样浮动
test
isNaN
应该能够过滤掉那些问题:@JosephMarikle你应该加上这个作为答案,这是最简单的测试方法。@JosephMarikle同意。把它放上去,我会投票:)/\D/.test('123.45')
//true@Jack非常感谢。想出了一个不同的表达:)@Joseph——简单,优雅——正是我想要的!谢谢。@Bruno不客气。:)很高兴我能帮上忙(哈哈,我评论错地方了……太晚了)