我有一个只需要保留文本或十进制的文本字段。这是我目前用来替换除数字和小数点以外的所有内容的代码。问题是,我想不出一个可以识别其他所有内容的正则表达式
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
\D 工作正常,但我已经尝试过(?!.), (?!\.), [^.], [^\.]
等等......
对于正则表达式,除了数字或小数以外的任何东西都有什么建议吗?
谢谢您的帮助
我有一个只需要保留文本或十进制的文本字段。这是我目前用来替换除数字和小数点以外的所有内容的代码。问题是,我想不出一个可以识别其他所有内容的正则表达式
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
\D 工作正常,但我已经尝试过(?!.), (?!\.), [^.], [^\.]
等等......
对于正则表达式,除了数字或小数以外的任何东西都有什么建议吗?
谢谢您的帮助
用这个:
document.getElementById(target).value = newVal.replace(/[^0-9.]/g, '');
可以按如下方式仅删除小数部分:
number.replace(/(\.\d+)+/,'');
这会将 13.6667px 转换为 13px(保持单位 px 不变)。
试试这个:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");