我与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. Java的正则表达式积极lookahead
- 2. 正则表达式积极lookbehind灾难
- 3. 正则表达式积极lookahead
- 4. 正则表达式不极限值
- 5. 正则表达式积极lookbehind +负向lookahead
- 6. 正则表达式浮点数为6位小数和3位数
- 7. 正积极表达和Java的
- 8. 正则表达式在Python中为正整数和负整数
- 9. 什么是正数和负数的正则表达式验证?
- 10. 正则表达式(蟒蛇)捕获参数积极lookahead
- 11. 的Python小时负正则表达式
- 12. 记事本++正则表达式搜索和替换空白达到极限
- 13. 浮点正则表达式?
- 14. 正则表达式模式 - 浮点数
- 15. 正则表达式大于和小于
- 16. 正则表达式只接受正数和小数
- 17. 正则表达式在.htaccess结合两个消极条件
- 18. 积极的展望正则表达式令人困惑
- 19. PHP的正则表达式:几个停止字符积极lookbehind
- 20. 在正则表达式中帮助消极lookbehind
- 21. 积极lookabehind在正则表达式'太好'
- 22. 在JavaScript正则表达式中积极寻找背后
- 23. 在正则表达式中积极向前看吗?
- 24. 极易正则表达式替换问题
- 25. JavaScript正则表达式中的多个积极lookaheads的语法
- 26. 正则表达式 - 积极向后看问题
- 27. Python3正则表达式 - 积极lookahead没有做多行
- 28. 正则表达式:积极的超前性和字边界问题
- 29. 正负号的正则表达式
- 30. 负数的Java正则表达式?
我想知道为什么你需要一个正则表达式。你不能只是'x <180 && x> -180'吗? – 2013-04-09 14:48:41
@JanDvorak OP可能试图在更大的字符串中搜索这样的数字,而不仅仅是验证。 – iamnotmaynard 2013-04-09 14:51:45