js判断只能为数字、小数!求大侠指教!
1个回答

用正则判断,具体如下(因为是jquery写的所以记得先载入jquery库):

$(document).ready(function(){

x09$("#id1").blur(function(){//当输入框失去焦点时

x09x09var str=$("#id1").val();

x09x09var m=str.length-str.replace(/./g,"").length;//m为小数点个数

x09x09if(m>1){//小数点个数大于1时提示错误

x09x09x09alert("输入有误!");

x09x09}

x09x09else if(m=1){//有1位小数点时判断小数点在最前和最后的情况(如果觉得没必要那么删除这整个else就行了)

x09x09x09var str0 = str.substring(0, 1);

x09x09x09var str1 = str.substring(str.length-1, str.length);

x09x09x09if(str0=="."){//如果小数点在最前,则在前面加上0

x09x09x09x09str="0"+str;

x09x09x09x09$("#id1").val(str);

x09x09x09}

x09x09x09if(str1=="."){//如果小数点在最后,则去除小数点

x09x09x09x09str=str.substring(0, str.length-1);

x09x09x09x09$("#id1").val(str);

x09x09x09}

x09x09}

x09});

});