Heim > Fragen und Antworten > Hauptteil
1. Kann nur mit regulären Ausdrücken überprüft werden
2. Wenn es sich bei der Zahl um eine Dezimalzahl handelt, muss sie überprüft werden, um zwei Dezimalstellen beizubehalten.
3 Es kann sich nicht um einen Zahlentyp handeln, z 0,10, 0,11, 1, 0,01
淡淡烟草味2017-05-19 10:18:45
^[-+]?\d+(\.\d{0,1}[1-9])?$
Update^[-+]?([1-9]+)|(\d+\.(\d{0,1}[1-9])|(\[1-9][0-9]))$
^(([1-9]+)|(\d+\.((\d{0,1}[1-9])|([1-9][0-9]))))$
0 - false
0.01 - true
0.00 - false
0.10 - falsetrue
Update #2
Starts with a number except 0.
^((^[1-9][0-9]*)|((^[1-9][0-9]*)\.((\d{0,1}[1-9])|([1-9][0-9]))))$
02.01 - false
2.01 - true
2.00 - false
2.10 - true
世界只因有你2017-05-19 10:18:45
var arr = [0, 0.00, 0.10, 0.11, 1, 0.01, -0, -0.00, -0.10, +0.11, -1, -0.01];
var reg = /^[+-]?([1-9]{1}\d?|[1-9]+.\d{2}|0.[1-9]{1}\d{1}|0.0[1-9]{1})$/;
for (let i = 0, len = arr.length; i < len; i++) {
console.log(arr[i], reg.test(arr[i]));
}