gpt4 book ai didi

javascript - 空值其实不就是空吗?

转载 作者:行者123 更新时间:2023-12-01 01:04:19 24 4
gpt4 key购买 nike

我通过正则表达式检查“AA8187517”字符串时出现错误:

if (/^[a-z0-9]*$/i.test(value))

我突然在控制台中看到了什么?

> value.split('').filter(function(el){ return el != '' })
< (11) ["", "A", "A", "8", "1", "8", "7", "5", "", "1", "7"]

console

数组中这两个值是什么?

最佳答案

数组中的两个“空”值包含字符 8207(十进制),即 200f(十六进制)。

U+200F 是 Unicode 中的从右到左标记,是一种(不可见的)标记,可更改文本的显示方向。

以下是您的问题的重现以及用于删除字符的示例代码:

let value = "\u200FAA81875\u200F17";

console.log(value.split('').map(function (x) { return x.charCodeAt(0); }));

value = value.replace(/\u200F/g, '');

console.log(/^[a-z0-9]*$/i.test(value));

关于javascript - 空值其实不就是空吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55784221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com