JS中如何在if-else语句中排除输入框的纯空格内容?
如何排除输入框纯空格内容不加入数组
你遇到的问题是输入框仅输入单个或多个空格时,内容仍会被加入数组,核心原因是你只判断了单个空格,无法覆盖多空格的情况。
原代码问题分析
你尝试的代码仅判断了inputEL.value === " ",但用户输入多个空格(比如" ")时,该条件不成立,导致纯空格内容依然被误加入数组。
正确解决方案
使用字符串的trim()方法——它会移除字符串首尾的所有空白字符(包括空格、制表符等),再判断处理后的字符串是否为空即可:
const values = [] const inputEL = document.getElementById("field-input") const inputValue = inputEL.value.trim() if (inputValue) { values.push(inputEL.value) // 若需保留原输入的格式(如内容中间的空格)则用原value;若想存储去掉首尾空格的内容,替换为inputValue即可 inputEL.value = "" } else { console.log("输入为空或仅含空格") }
代码说明
trim():仅移除字符串首尾的空白字符,不会修改原字符串的内容- 判断逻辑:如果原输入全是空格,
trim()后会得到空字符串,条件不成立,不会加入数组;如果输入包含有效内容(即使中间有空格),trim()后不为空,就正常执行添加操作
内容的提问来源于stack exchange,提问作者ayoub amouch
相关产品推荐
相关产品推荐

