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