Chrome中的输入类型电子邮件值,重音字符错误
将重音字符输入Chrome中的输入类型电子邮件时,会将值更改为奇怪的值。
输入电子邮件时: test@Bücher.ch输入值为: test@xn--bcher-kva.ch 。
$('#email').val() // --> test@xn--bcher-kva.ch document.getElementById('email').value // --> test@xn--bcher-kva.ch
输入类型文本或其他主流浏览器不会发生这种情况。
例如,请看这个小提琴 。 这里发生了什么,我该如何解决它?
我认为这不是错误,这是因为规范。 Chrome只是以与其他浏览器不同的方式遵循规范:)并将IDN转换为其ascii表示。
https://code.google.com/p/chromium/issues/detail?id=410937
要解码它,你可以使用一些第三方解决方案,如
将带有破折号字符的punycode转换为Unicode
小提琴
对于这个问题,由于输入的电子邮件类型,在’@’符号浏览器出现此错误后。 我认为他们认为电子邮件地址始终必须是英文。
无论如何使用文本类型然后提供电子邮件正则表达式