以 js 正则为例,如何区分 s1 和 s2 的不同? s1 是复制用户的,s2 是手打的 起初还以为是正则出了问题
let s1 = '64165269B';
let s2 = '64165269B';
console.log(/^[0-9A-z]{8,11}$/.test(s1));
console.log(/^[0-9A-z]{8,11}$/.test(s2));
1
remarrexxar 2020-05-26 10:04:27 +08:00
console.log(charToUnicode(s1))
\\ u0036 \\ u0034 \\ u0031 \\ u0036 \\ u0035 \\ u0032 \\ u0036 \\ u0039 \\ u202c \\ u0042 console.log(charToUnicode(s2)) \\ u0036 \\ u0034 \\ u0031 \\ u0036 \\ u0035 \\ u0032 \\ u0036 \\ u0039 \\ u0042 多了不可见字符 |
2
Vegetable 2020-05-26 10:13:59 +08:00
如果你只是确定的话,可以用方向键移动光标看看有没有不可见字符。
也可以保存两个文件用 diff 或者 git diff 之类工具。 代码里最好 trim 一下,有时候复制会在前后添加莫名其妙的字符。 |
3
thinkwei2012 OP @remarrexxar 感谢,根据 \u202c 搜索了下,很有可能是用户从 excel 里直接复制粘贴的
|
4
wysnylc 2020-05-26 10:24:06 +08:00
|
5
lululau 2020-05-26 10:26:37 +08:00
pbpaste | cat -v
pbpaste | od -Ad -tc |