如果我输入这样的内容:a1.b22.333,我希望它输出:
1.22333或122.333
它消除了非数字字符和超过1的任何时间段.
我最好的猜测是:
obj.value = obj.value.replace( /[^0-9\.{1}]+/g , '');
obj.value = obj.value.replace( /[^0-9\.{2,}]+/g ,'');
obj.value = obj.value.replace( /[^0-9\.(?=.*\.)]+/g ,'');
Run Code Online (Sandbox Code Playgroud)
但这些都输出1.22.333
我怎样才能摆脱这段额外的时期?
谢谢你的帮助.
jfr*_*d00 13
你可以这样做:
obj.value = obj.value.replace(/[^\d\.]/g, "")
.replace(/\./, "x")
.replace(/\./g, "")
.replace(/x/, ".");
Run Code Online (Sandbox Code Playgroud)
这将删除所有非数字,非句点字符,然后仅用"x"替换第一个句点,然后删除所有其他句点,然后将"xxx"更改回句点.
| 归档时间: |
|
| 查看次数: |
3215 次 |
| 最近记录: |