Javascript中判断输入的字符串是否为空?是否为数值?去掉首尾空格

本文介绍了JavaScript中判断字符串是否为空、是否为数值、是否为整数、是否为浮点数的方法及去除字符串首尾空格的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

### 如何用 JavaScript 找到字符串中出现次数最多的字符 为了实现这一功能,可以采用以下方式:遍历整个字符串中的每一个字符,并统计其出现的频率。通过创建一个对象来存储每个字符及其对应的计数,最后找出具有最大计数值的字符。 以下是具体的代码实现: ```javascript function findMostFrequentChar(str) { const charCount = {}; let maxChar = ''; let maxCount = 0; // 遍历字符串并计算每个字符的数量 for (let i = 0; i < str.length; i++) { const currentChar = str[i]; if (charCount[currentChar]) { charCount[currentChar]++; } else { charCount[currentChar] = 1; } // 更新最大值 if (charCount[currentChar] > maxCount) { maxCount = charCount[currentChar]; maxChar = currentChar; } } return { character: maxChar, frequency: maxCount }; } // 测试函数 const result = findMostFrequentChar("hello world"); console.log(result); ``` 上述代码的功能如下: - 创建了一个 `charCount` 对象用来记录各个字符的出现频次[^1]。 - 使用循环逐一访问字符串中的每个字符,如果该字符已经存在于 `charCount` 中,则将其计数增加;否则初始化为 1[^2]。 - 同时维护两个变量 `maxChar` 和 `maxCount` 来跟踪当前最高频率的字符以及它的具体数量[^3]。 最终返回的结果是一个对象,其中包含了出现最频繁的字符和它出现的总次数。 #### 注意事项 在实际应用过程中可能还需要考虑一些特殊情况,比如忽略大小写或者排除白字符的影响等问题。可以通过预处理输入数据解决这些问题,例如调用 `.toLowerCase()` 将所有字母转换成小写字母以便统一比较[^4],也可以利用 trim 方法去掉首尾多余的空格
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值