String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } /** * 调用的时候必须使用onkeypress事件 * 目前代码为优化,为考虑特殊按键,如<-,tab键等 * */ function rep(obj) { document.getElementById("lb").innerHTML = ""; var new_int; var old_int = obj.value.replaceAll(",", ""); var len; // 不能直接输入","符号 if (event.keyCode == 44) { return false; } // 只能数一个小数点 if (event.keyCode == 46) { if (old_int.indexOf(".") > 0) { return false; } else { // 处理用户在刚好输入四位数字,如123,4后删除最后一位123,直接按下小数点"." var bool = obj.value.indexOf(",") + 1 == obj.value.length; if (bool) { obj.value = obj.value.replace(",", "."); return false; } } } //设置 有小数点时格式化的len if (old_int.indexOf(".") > 0) { len = old_int.substring(old_int.indexOf("."), old_int.length).length - 1; } else {//设置 其他情况格式化的len len = old_int.length; } var t_val = old_int + String.fromCharCode(event.keyCode); if (!(/^-?\d+\.{0,}\d{0,}$/.test(t_val))) { document.getElementById("lb").innerHTML = "只能输入数字"; return false; } // 根据len判断是否加格式化 (加",") if ((len > 0) & (len % 3 == 0) & (event.keyCode != 46)) { if (obj.value.indexOf(",") + 1 != obj.value.length) { new_int = obj.value + ","; obj.value = new_int; } } } /** * 提交的时候,要获取正确的值,直接替换掉里面的所有","就行 * @param {} obj */ function onsubmit(obj) { alert(obj.value.replaceAll(",", "")); }
?