Javascript中判断输入的字符串是否为空

Javascript中判断输入的字符串是否为空?为数值?去掉首尾空格是最常见的3个应用,但是如果一段时间不用,总会忘记,还是记下来比较好。

1. 是否为空?

    太简单了,取值判断是否与””相等即可,示例函数如下:

     function isNULL(ctlID, ctlName) {
         var ctl = document.getElementById(ctlID);
         if (ctl.value == “”) {
             alert(ctlName + “不能为空。”);
             ctl.focus();
             return true;
         }
         return false;
     }
    如果直接判断,这样写:

    if(document.getElementById(ctlID).value ==””) {…}

 

2. 是否为数值?

    使用isNaN(para)函数。该函数判断para是否不是数值。示例函数如下:

    function isNumber(num){

        return !isNaN(para);

    }

    直接判断:

    if(!isNan(document.getElementById(ctlID).value)) {…}

 

3. 是否为整数?

    1)直接法,用正则表达式:

     function isInt(num) {
         if (num.match(/^-?[0-9]+$/) == null) return false;
         else return true;
     }
    2)间接法,用parseInt()方法。因为整数字符串转换为整数后长度不变,而其他情况长度会变化。所以可以用此判断输入是否为整数。

     function isInt(num) {
           var ctlInt = 1 + parseInt(ctlValue) ; //加1是为了去除负号“-”的影响
            if(ctlInt == ctlValue) return true;
            else return false;
     }
4. 是否为浮点数?

    用“3.”的直接法,只要更换相应的正则表达式即可,如:

^/d+$” //非负整数(正整数 + 0) 
^[0-9]*[1-9][0-9]*$” //正整数 
^((-/d+)|(0+))$” //非正整数(负整数 + 0) 
^-[0-9]*[1-9][0-9]*$” //负整数 
^-?/d+$” //整数 
^/d+(/./d+)?$” //非负浮点数(正浮点数 + 0) 
^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数 
^((-/d+(/./d+)?)|(0+(/.0+)?))$” //非正浮点数(负浮点数 + 0) 
^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$” //负浮点数 
^(-?/d+)(/./d+)?$” //浮点数 
备注:即使判断同一种对象,正则表达式的写法也有多种,优劣只能自己判断。

 

5. 去除首尾空格

    用正则表达式:

    1)原型法,也就是为字符串类型提供去掉首尾空格的函数:

     String.prototype.trim = function() {
         return this.replace(/(^/s*)|(/s*$)/g, “”);
     }
    2)一般函数,返回去掉首尾空格后的字符串:

     function trim(str) {
         return str.replace(/(^/s*)|(/s*$)/g, “”);
     }

此条目发表在网页设计分类目录,贴了, 标签。将固定链接加入收藏夹。