javascript - JQuery 无法通过 val() 函数获取正确的值

标签 javascript jquery html

我有这样的表格

$('#email').on('keyup', function() {
  console.clear();
  console.log($('#email').val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<input type="email" name="email" class="form-control" placeholder="Email" required id="email">

并且我想获取电子邮件输入的值,所以我使用此 $("#email").val() 。 但我发现这只适用于英文而不是中文。 如果我在电子邮件输入中输入“33333@去.com”,代码将给出这个值:“33333@xn--1nr.com”。 我无法理解修复它的要点。这不是 unicode 的 utf-8。我什至以前都没有看到。

enter image description here

最佳答案

这应该无关紧要。

xn--1nr.comIDNA Punycode 去.com的编码——毕竟,如果你发送邮件到33333@去.com,你实际上最终会发送邮件到33333@xn—— 1nr.com.

由于该字段是电子邮件字段,因此浏览器试图通过将值规范化为 Punycode 来为您变得聪明。

关于javascript - JQuery 无法通过 val() 函数获取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487455/

相关文章:

javascript - 如何防止 Angular 方法多次触发?

javascript - 将元音大写

javascript - 在 jQuery UI sortable 中,如何获取拖动元素下方的元素

javascript - 我想添加两个数字并显示总数 - 删除逗号会破坏该功能

javascript - 我的 ng-repeat 出了问题

javascript - GetBoundingClientRect 但相对于整个文档

javascript - 按钮链接加载后 JS 确认弹出窗口

html - 背景幻灯片问题

javascript - 从(邪恶的)feedly 导出 "saved for later"

javascript - 如何创建在滚动时显示自己的重叠图像