如何使用Javascript针对0.5增量验证数字
How to validate number against 0.5 incremental using Javascript
我正在尝试针对0.5个增量验证javascript字符串。所以对于exmaple来说。。
var number = 1 //true
var number = 1.2 //false
var number = 1.5 //true
var number = 2.8 //false
var number = 4 //true
var number = 0.5 //true
var number = 10.4 //false
我想知道是否有人能帮我开始做这样的事情。可能会涉及regex吗?
function validateNumber(value){
//Do validation
}
感谢您的阅读。
您可以使用返回余数的模运算符%
。
function validateNumber(value){
return value % 0.5 == 0;
}
由于时间2是最有效的操作之一,这可能比使用%:更快
function validateNumber(value) {
return 2*value==Math.round(2*value)
}
一个更快的版本,不需要调用。
(到目前为止,这是答案的最快解决方案:http://jsperf.com/modulus-vs-times2)
function validateNumber(value) {
return 2*value==2*value>>0
}
'd*'.?5?
试试这个。这是有效的。
请参阅演示。
http://regex101.com/r/qZ0uP0/3
这太过分了,但这可以使用HTML5验证来完成:
var validateNumber = (function() {
var inp = document.createElement('input');
inp.type = 'number';
inp.step = 0.5;
return function validateNumber(value) {
inp.value = value;
return !inp.validity.stepMismatch;
};
})();
当然,在实践中使用@AmitJoki的答案。
相关文章:
- 我应该使用什么正则表达式来验证数字模式
- 仅在jQuery验证中验证数字、括号和空格
- 验证数字是否在0.00到20.00之间的正则表达式
- 用于验证数字范围的正则表达式
- 如何验证数字是否为整数
- javascript/jQuery:使用 .each 时验证数字
- 仅验证数字字符的 PDF 表单字段
- 欧芹.js - 仅验证数字的可选输入
- 如何在Javascript中使用正则表达式来验证数字
- 如何使用Javascript针对0.5增量验证数字
- 使用javascript中的常规exp验证数字,但在一种情况下不起作用
- 验证数字Javascript
- Javascript验证数字xhtml
- Angular JS-如何验证数字输入中的位数
- 用短划线angularjs验证数字
- 验证数字并允许空格
- Javascript 正则表达式,用于验证数字是否以前导零开头
- 如何在javascript中验证数字输入
- 在Javascript中验证数字
- JavaScript -仅验证数字/字母