let regex = /[a-z]+/;
regex.test('a'); // true
regex.test(''); // false
regex.test(null); // true
regex.test(undefined); // true
Run Code Online (Sandbox Code Playgroud)
因此,基于此链接,它是 Ecmascript 中的错误 - /\S/.test(null) 返回 true?,看起来空值被强制为字符串“空”。跆拳道?为什么要这样设计?我也找不到有关此行为的任何文档。有没有办法返回false空/未定义的值(在检查“空”等时没有硬编码)?
如果你正在测试一个变量,你可以这样做:
regex.test(var || '')
Run Code Online (Sandbox Code Playgroud)
这样如果未设置,它将默认为空字符串。
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |