为什么浏览器为电子邮件验证正则表达式显示不同的反斜杠.如何防止这种情况发生

Why browser is showing different back slash for a email validation regex. How to prevent that?

本文关键字:何防止 情况 电子邮件 浏览器 验证 正则表达式 显示 为什么      更新时间:2023-09-26

我在js文件中看到了这个模式:

var emailPattern = /^[^'W_]('.{0,1}[^<>(){'}[']''.,;:%'s@'"]+)*@([a-zA-Z0-9-]{1,}'.)+[a-zA-Z]{2,6}$/;

当页面加载时,我在视图源中得到了这个

var emailPattern = /^[^\W_](\.{0,1}[^<>(){\}[\]\\.,;:%\s@\"]+)*@([a-zA-Z0-9-]{1,}\.)+[a-zA-Z]{2,6}$/;

(此页面是日语专用页面,但js是纯英文页面)。

无论如何,为了防止''(普通反斜杠)变成这个(unicode:&#65340;

这似乎是一个字符编码问题。

例如,在SubEthaEdit中编辑Shift-JIS编码的文件时,反斜杠在编辑器中显示为'(0x5C),但实际上在文件中插入为(0xFF3C)。

从编辑器中复制源代码会将其转换回UTF-8,并在剪贴板中给我一个"正常"的反斜杠。

SubEthaEdit中的一个解决方法是输入¥字符,该字符在Shift-JIS中为0x5C。

所有这些都是针对SubEthaEdit的,但也许你也面临着类似的问题。

将代码字符串复制到记事本,然后从那里复制回代码。这将破坏您的unicode字符,并将反斜杠转换为真正的反斜杠。

想想你的编辑器和浏览器策略:

  • 第一行:Consolas 10
  • 二线:MS Mincho 10
相关文章: