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});

    });