javascript-判定输入浮点数是否合法

方法借鉴其他作者,我进行了错误汇总并完善,记录以备后用;

首先建立一个功能函数,用于检查输入浮点数是否合法:

function CheckValueError(theFloat){}//返回True表示错误,返回False表示通过

先进行判断是否为空:

var len = theFloat.length;
if (len == 0) {
     return true;
}

再检查是否包含'-'号且不再首位:

复制代码

        if (theFloat.indexOf("-") != -1) {

            if (theFloat.indexOf("-") != 0) {
                return true;
            } else {
                flag = "-";
                theFloat = theFloat.substring(1);
                len = len - 1;//若为负值,先去除首位的负号,检测后面的字符
            }
        }
复制代码

再检查非法字符和小数点数量及位置:

复制代码
        for (var i = 0; i < len; i++) {
            var oneNum = theFloat.substring(i, i + 1);
            if (oneNum == ".")
                dotNum++;
            if ((oneNum < "0" || oneNum > "9") && oneNum != ".") {
                return true;
            }
            if (dotNum > 1 || (oneNum == "." && (i == 0 || i == len - 1))) {
                return true;
            }
        }
复制代码

最后检查0在首位且第二位不是小数点:

       if (len > 1 && theFloat.substring(0, 1) == "0") {
            if (theFloat.substring(1, 2) != ".") {
                return true;
            }
        }

全部检查通过后,最后返回False:

Return False;

 

posted @   [春风十里]  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示