正则expression式来取代除数字和小数点以外的所有内容

我有一个文本字段,只需要保持文本或小数。 这里是我目前用来代替除数字和小数点以外的所有代码。 问题是,我找不出一个能识别其他东西的正则expression式

document.getElementById(target).value = newVal.replace(/\D[^\.]/g, ""); 

\ D工作正常,但我试过(?!.), (?!\.), [^.], [^\.]等…

任何正则expression式的build议,除了一个数字或一个小数以外的任何东西都可以肯定地标识?

谢谢您的帮助

用这个:

 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})?$/, "");

检查链接正则expression式演示

使用下面的reg exp

[az] + [^ 0-9 \ s。] + |。(?!\ d)