我有一个文本字段,只需要保留文本或小数。这是我正在使用的代码,用于替换除数字和小数点之外的所有内容。问题是,我无法找出能够识别其他所有内容的正则表达式
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
\ D工作正常,但我已经尝试了(?!.), (?!\.), [^.], [^\.]
等等......
正则表达式的任何建议,除了数字或小数外都能正确识别?
感谢您的帮助
答案 0 :(得分:192)
使用此:
document.getElementById(target).value = newVal.replace(/[^0-9.]/g, "");
答案 1 :(得分:8)
只删除小数部分可以按如下方式进行:
number.replace(/(\.\d+)+/,'');
这会将13.6667px转换为13px(保持单位px不变)。
答案 2 :(得分:5)
试试这个:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
答案 3 :(得分:0)