Mat*_*iel 2 javascript regex jquery
我似乎无法得到一个简单的正则表达式.这就是我现在所拥有的:
$(".Hours").on('input', function (e) {
var regex = /^\d+(\.\d{0,2})?$/g;
if (!regex.test(this.value)) {
if (!regex.test(this.value[0]))
this.value = this.value.substring(1, this.value.length);
else
this.value = this.value.substring(0, this.value.length - 1);
}
});
Run Code Online (Sandbox Code Playgroud)
我需要用户只能输入数字和一个小数(小数点后只有两个数字).它现在正常工作,但用户不能以小数开头.
可接受:23.53 0.43 1111.43 54335.34 235.23 .53 <---不工作
不可接受:0234.32 <---用户当前可以这样做23.453 1.343 .234.23 1.453.23
对此有何帮助?
Tus*_*har 10
RegExp -
^(\d+)?([.]?\d{0,2})?$
Run Code Online (Sandbox Code Playgroud)
说明
Assert position at the beginning of the string «^»
Match the regular expression below and capture its match into backreference number 1 «(\d+)?»
Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
Match a single digit 0..9 «\d+»
Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Match the regular expression below and capture its match into backreference number 2 «([.]?\d{0,2})?»
Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
Match the character “.” «[.]?»
Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
Match a single digit 0..9 «\d{0,2}»
Between zero and 2 times, as many times as possible, giving back as needed (greedy) «{0,2}»
Assert position at the end of the string (or before the line break at the end of the string, if any) «$»
Run Code Online (Sandbox Code Playgroud)
小智 5
这里有一个建议:/^((\d|[1-9]\d+)(\.\d{1,2})?|\.\d{1,2})$/。
允许:0,,,,,,,, ...0.00100100.1100.10.1.10
拒绝 : 01, 01.1, 100., .100, ....
| 归档时间: |
|
| 查看次数: |
10474 次 |
| 最近记录: |