标签:lin 并且 mat ref 改变 http function dir red
我们网页中需要用户填写一些信息,因为我们的网页比较特殊,是针对国际的用户,并且支持多种语言,线上发现用户会通过copy的方式填充输入,可能是从word等软件中copy的,带入了一些不可见的字符。
比如\u200B这种零宽度的空格,以及一些看起来像半角空格的,含有这些字符后,会导致信息校验失败
1.禁止用户copy
https://www.cnblogs.com/3box/p/5711498.html
2.限定输入范围,在输入改变时,替换非法字符
$("#inputId").on("keyup change", function () { var inputCurr = $(this).val(); //\p{C}是替换不可见字符 //\p{Zs}是替换空格为半角空格,全角空格也会被替换成半角空格 var inputNew = inputCurr.replace(/[\p{C}]/gu, ‘‘).replace(/[\p{Zs}]/gu, ‘ ‘); if (inputCurr != inputNew) { $(this).val(inputNew); } });
分隔符p{Z}
\p{Zs}
或\p{Space_Separator}
:a whitespace character that is invisible, but does take up space.\p{Zl}
或\p{Line_Separator}
:line separator character U+2028.\p{Zp}
或\p{Paragraph_Separator}
:paragraph separator character U+2029.- 其它符号
\p{C}
(包括不可见控制字符与未用码位)
https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
标签:lin 并且 mat ref 改变 http function dir red
原文地址:https://www.cnblogs.com/maochenhua/p/13300158.html