【记录】正则替换的偏方
一.Input中的字符串按数字规则替换
1. 包含正号,负号,小数点的浮点数
本身的正则替换是无法单次实现完美替换的, 这个方法会删掉用于匹配的一些数字, 优点是它能保证输入的合法性, 缺点是删去的部分需要重新输入
1 if (str.length === 1) { 2 newStr = str.replace(/([^-+\d])/g, ''); // 当长度为1时, 单独限制小数点输入. 3 } else { 4 newStr = str.replace(/([^-+.\d])|(\d[-+])|([-+.]{2,})|([.]\d+[.])/g, ''); // [限制字符][限制数字后不能接-+][限制三种符号不能连续组合出现两次及以上][限制两个小数点之间不能接数字] 5 }
最终效果是成对的小数点包括中间的数字都会被替换, 如果是单数个小数点, 会保留最后一个