![](/img/trans.png)
[英]How to restrict decimal numbers in input=“text” show only integer numbers
[英]Checking text is only decimal numbers or not?
有没有最有效的方法来验证 JavaScript 中的十进制数?
例如像下面这样:
01. IsDec('-7.7') => true
02. IsDec('-18') => true
03. IsDec('0') => true
04. IsDec('.845') => true
05. IsDec('0.957') => true
06. IsDec('0x45f') => false
07. IsDec('15,87') => false
08. IsDec('#text') => false
09. IsDec('75.95.69') => false
10. IsDec('') => false
11. IsDec('someText') => false
试试这样:
console.log(isDec("-12.5")); console.log(isDec("12.5")); console.log(isDec("0")); console.log(isDec(".45")); console.log(isDec("1,5")); console.log(isDec("#ssdr")); function isDec(txt) { return !isNaN(parseFloat(txt)) && isFinite(txt); }
这是一个用于检查的正则表达式。
/^-?\d*\.?\d*(?<!^\.?)$/
console.log('--- true cases ---'); console.log(isDec('-7.7')); console.log(isDec('-18')); console.log(isDec('0')); console.log(isDec('.845')); console.log(isDec('0.957')); console.log(isDec('16.')); console.log('--- false cases ---'); console.log(isDec('0x45f')); console.log(isDec('15,87')); console.log(isDec('#text')); console.log(isDec('75.95.69')); console.log(isDec('')); console.log(isDec('someText')); console.log(isDec('.')); function isDec(txt) { const regex = /^-?\\d*\\.?\\d*(?<!^\\.?)$/; return regex.test(txt); }
在这里检查结果
请尝试以下功能来检查十进制数
function isDecimal(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
答:
isDecimal('-7.7') => true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.