我與regex
一個新手,我需要-180和180之間的整數用於數的正則表達式或浮動,每次最多6個小數正則表達式浮動正極和負極和6小數
回答
注意正則表達式無法驗證是否數字實際上是在你給出的範圍之間 - 這應該由你的業務邏輯來處理。
^-?\d{0,3}(\.\d{0,6})?$
這可能是一個更好的解決方案在數字閱讀,在JavaScript分析它,並驗證這樣的說法:
function isValid(numStr) {
var float = parseFloat(numStr);
return Math.abs(float) <= 180 && float.toFixed(6) - float == 0
}
console.log(isValid('-123.23323')); // true
console.log(isValid('-183.23323')); // false
console.log(isValid('-183.233233424')); // false
那麼,你可以創建一個只允許所需範圍內的值的正則表達式,但業務邏輯對它來說是一個更好的地方。 – iamnotmaynard 2013-04-09 14:49:30
正確,請參閱我的更新:) – 2013-04-09 14:52:29
'float.toFixed(6) - float == 0' - 是否應該接受'1.000000000'? – 2013-04-09 14:53:26
您可以檢查該值可以轉換到你需要的範圍和精度的數字,但是正則表達式不是那個工具。
function numbercheck180(s){
var n= !isNaN(n= s*1e6)? Math.round(n)/1e6:-181;
return (n<180 && n>-180 && n+''=== s)
}
numbercheck180('-179.123456') true
numbercheck180('179.123456') true
numbercheck180('179.1234561') false
numbercheck180('-179.1234561') false
numbercheck180('-181') false
numbercheck180('180.00001') false
- 1. 極品正則表達式
- 2. Java的正則表達式積極lookahead
- 3. 正則表達式積極lookahead
- 4. 正則表達式不極限值
- 5. 期望正則表達式積極lookbehind
- 6. 正則表達式積極lookbehind +負向lookahead
- 7. 正積極表達和Java的
- 8. 正則表達式浮點數爲6位小數和3位數
- 9. 正則表達式的任何長度 - 積極和消極的整數和長期在java
- 10. 正則表達式在Python中爲正整數和負整數
- 11. 什麼是正數和負數的正則表達式驗證?
- 12. 正則表達式(蟒蛇)捕獲參數積極lookahead
- 13. 記事本++正則表達式搜索和替換空白達到極限
- 14. 的Python小時負正則表達式
- 15. Java的正則表達式與負的外觀背後積極向前看
- 16. 負的正則表達式
- 17. 浮點正則表達式?
- 18. 正則表達式大於和小於
- 19. 正則表達式和jQuery:小寫
- 20. 小號///和正則表達式在Perl
- 21. 正則表達式模式 - 浮點數
- 22. 正則表達式極其緩慢大型文檔
- 23. 正則表達式 - 積極向後看問題
- 24. 積極lookabehind在正則表達式'太好'
- 25. 安卓:極品正則表達式複雜的字符串
- 26. 極品號驗證的正則表達式
- 27. 在正則表達式中幫助消極lookbehind
- 28. 在正則表達式中積極向前看嗎?
- 29. 在JavaScript正則表達式中積極尋找背後
- 30. 極易正則表達式替換問題
我想知道爲什麼你需要一個正則表達式。你不能只是'x <180 && x> -180'嗎? – 2013-04-09 14:48:41
@JanDvorak OP可能試圖在更大的字符串中搜索這樣的數字,而不僅僅是驗證。 – iamnotmaynard 2013-04-09 14:51:45