JS限制用户只能输入小数,不用正则表达式
1、Javascript原生态版本
检查小数JS
function replacebynumber(str, n, c) {if (str == "") return "";
if (n >= str.length) return str;
if (n == 0) return c + str.substr(n + 1);
if (n == str.length - 1) return str.substr(0, str.length - 1);
var t = String(str).substr(0, n); c//c从0开始
var tt = String(str).substr(n + 1);
return t + c + tt;
}
function check(obj,cc) {
var a = obj.value;
var b = 0;
for (var i = 0; i < a.length; i++) {
var c = a.substr(i, 1);
if (c != "." && c != ' ') {
if (c.charCodeAt(0) >= 48 && c.charCodeAt(0) <= 57) { }
else a = a.replace(c, ' ');
continue;
}
if (b == 0) { if (c == ".") b = 1 }
else
a = replacebynumber(a, i, ' ');
}
a = String(a).trim();
if (String(a).indexOf(".") == 0) a = a.substr(1);
obj.value = a;
}
function onblured(obj) {
var value = obj.value.trim();
if (value == "") { }
else
{
var a = String(value).substring(value.length - 1);
if (a != ".") { }
else
obj.value = String(value).substring(0, value.length - 1);
}
}
///调用οnkeyup="check(this);" οnblur="onblured(this);"
2、JQuery 1.8.2版本
检查小数JS
function replacebynumber(str, n, c) {
if (str == "") return "";
if (n >= str.length) return str;
if (n == 0) return c + str.substr(n + 1);
if (n == str.length - 1) return str.substr(0, str.length - 1);
var t = String(str).substr(0, n); c//c从0开始
var tt = String(str).substr(n + 1);
return t + c + tt;
}
function keyuped(obj, cc) {
var a = obj.value;
var b = 0;//设置为1时不检查小数号
for (var i = 0; i < a.length; i++) {
var c = a.substr(i, 1);
if (c != "." && c != ' ') {
if (c.charCodeAt(0) >= 48 && c.charCodeAt(0) <= 57) { }
else a = a.replace(c, ' ');
continue;
}
if (b == 0) { if (c == ".") b = 1 }
else
a = replacebynumber(a, i, ' ');
}
a = $.trim(String(a));
if (String(a).indexOf(".") == 0) a = a.substr(1);
obj.value = a;
}
function onblured(obj) {
var value = $.trim(obj.value);
if (value == "") { }
else
{
var a = String(value).substring(value.length - 1);
if (a != ".") { }
else
obj.value = String(value).substring(0, value.length - 1);
}
}
///调用οnkeyup="keyuped(this);" οnblur="onblured(this);"