我有这样的表格
$('#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。我什至以前都没有看到。
最佳答案
这应该无关紧要。
xn--1nr.com
是 IDNA Punycode 去.com
的编码——毕竟,如果你发送邮件到33333@去.com
,你实际上最终会发送邮件到33333@xn—— 1nr.com
.
由于该字段是电子邮件字段,因此浏览器试图通过将值规范化为 Punycode 来为您变得聪明。
关于javascript - JQuery 无法通过 val() 函数获取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487455/