我在正則表達式中是這樣一個newb,但仍然...
我基於我的測試this後。正則表達式在JavaScript中檢查緯度/經度
我有這個簡單的regex:
^-?([1]?[1-7][1-9]|[1]?[1-8][0]|[1-9]?[0-9])\.{1}\d{1,6}
在Debuggex,如果我88.5例如測試它,它匹配。
在我的JS文件,我有:
var lonRegex = new RegExp("^-?([1-8]?[1-9]|[1-9]0)\.{1}\d{1,6}");
var check = lonRegex.test(88.5); // hardcoded for demo
console.log(check) // output false
我無法猜測爲什麼它總是返回我的假,無論值是一個數字或像「88.5」的字符串。
這有事情做與如何正則表達式的部分從字符串創建一個正則表達式對象時被轉義。 '/^- ?([1-8]?[1-9] | [1-9] 0)\。{1} \ d {1,6} /。test(88.5)'將返回'true' – lxe 2014-11-06 23:34:24
不要從字符串構造正則表達式,只需使用正則表達式('/.../')。另外,不要用正則表達式檢查數字,只需用算術檢查它們。 – 2014-11-07 03:46:36