电脑之家
柔彩主题三 · 更轻盈的阅读体验

字符串是否为空判断?几行代码搞定,办公写脚本不踩坑

发布时间:2026-04-21 06:31:42 阅读:4 次

填表、导数据、做自动化小工具时,常遇到‘这个字段没填,程序就崩了’的情况——八成是漏了字符串是否为空判断。

比如Excel里导出的客户电话列,看着是空的,实际可能是空格、制表符,甚至是个看不见的零宽字符。直接用 .length === 0== '',一跑就翻车。

常见误区:空字符串 ≠ 看起来空

这些都算‘看起来空’,但不是真正的空字符串:

' '           // 一个空格
'\t\n\r'     // 制表符、换行、回车
'\u200b'     // 零宽空格(复制粘贴时偷偷混进来的)
null         // JS里不是字符串,但常从表单取值拿到

实用判断法(JavaScript为例)

日常够用又稳妥的一行写法:

function isEmpty(str) {
  return str == null || String(str).trim() === '';
}

解释下:
str == null 涵盖 nullundefined
String(str) 把数字、布尔等转成字符串,避免报错;
.trim() 去掉首尾空白,连全角空格、换行都干掉。

测试一下:

isEmpty('')                 // true
isEmpty('   \t\n\r   ')  // true
isEmpty(0)                  // false(数字0不是空)
isEmpty('0')               // false(字符串'0'有内容)

其他语言也类似

Python里别光用 if not s:,小心 s = '   ' 过不去:

def is_empty(s):
  return s is None or str(s).strip() == ''

Excel公式也能防一手:在辅助列输入 =IF(TRIM(A1)="","空","有内容"),比肉眼盯靠谱多了。

下次写个自动整理通讯录的小脚本,或者处理批量导入的表格,先加个空判断,省得半夜被弹窗提醒‘Cannot read property 'trim' of undefined’吵醒。