大家好,请帮帮我。
我对某些与我的正则表达式不匹配的电子邮件验证有一些问题。 什么是我的问题是我认为是\ n或\ r \ n但是当我尝试
时var count = $("input#email_address").val().length;
从excel复制到我的文本框时得到25的结果VS手动输入文本相同,结果为24个字符。
var str = $("input#email_address").val().replace(/\r?\n/g, "");
我试过这个并修剪()并匹配找到\ r \ n或空格但返回null。
答案 0 :(得分:1)
首先删除所有不可读的字符,以防万一:
var str = $("input#email_address").val().replace(/[\x00-\x1f]+/g, "");
然后,您还应检查字符串中的某些特殊字符是否为多字节。在这种情况下,您需要更详细的方法,请参阅:
答案 1 :(得分:1)
好的,如果你遇到这个。这是解决方案。
我通过调用escape(str)来检查输入文本的值,然后得到了结果 “%u200Btest@test.com”它应该是“test@test.com”他们称之为零宽度空间(如果我错了,请纠正我。)
这是修复。
str = str.replace(/\u200B/g,'');
JavaScript remove ZERO WIDTH SPACE (unicode 8203) from string