无法修剪电子邮件输入中的空格

Eam*_*roy 2 jquery

我试图修剪电子邮件输入上的尾随空格,但相信将修剪应用于电子邮件输入存在问题。任何人都可以解释为什么会出现这种情况,或者我的假设是否错误。应用此代码后,该代码适用于密码字段,但不适用于电子邮件字段。

编辑:

它是一个 Ruby on Rails 应用程序,但创建的 HTML 如下所示:

看法:

<input class="mandatory form-control form-control" id="user_email" maxlength="250" name="user[email]" required="required" type="email">
<input class="mandatory form-control form-control" id="user_password" maxlength="20" name="user[password]" required="required" type="password">
Run Code Online (Sandbox Code Playgroud)

jQuery:

$('input').blur(function()
{
    this.value=$(this).val().trim();
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个,但仍然没有运气。它会去除文本之间的空格,但仍然不会删除尾随的空格:

$('input[type=email]').on('blur', function () 
{
    $(this).val($(this).val().replace(/ /g,''));
})
Run Code Online (Sandbox Code Playgroud)

小智 6

emailField.value当使用或查询值时$(emailField).val(),该值已被修剪。从规格来看

值清理算法如下:从值中去除换行符,然后从值中去除前导和尾随 ASCII 空格。

此外,如果设置为相同的值,它不会更新显示的值。所以我们需要改变这个值然后再改回来:

var trimmedValue = emailField.value;
emailField.value = '';
emailField.value = trimmedValue;
Run Code Online (Sandbox Code Playgroud)

或者,使用 jQuery:

var trimmedValue = $(emailField).val();
$(emailField).val('').val(trimmedValue);
Run Code Online (Sandbox Code Playgroud)