javascript - jQuery 替换无效字符

标签 javascript jquery

我有输入(类型=密码),并且我仅将此输入限制为某些字符。代码在这里

 $(document).ready(function() {
  $('#nguestpass, #nguestps, #nuserpass, #nuserps, #nadminpass, #nadminps').bind('keyup').bind('keyup', function(){
    new_char = $(this).val();
    if (/[^a-zA-Z0-9\!\@\#\%\*\(\)_\-\+\=\[\]\:\;\'\,\.\?/]/.test( new_char ) === true ) {
       alert('Entred character is not allowed. Please correct it.');
       return false;
    }

    return true;
  });
});

如果我粘贴无效代码(例如“ř”),则会收到警报(已输入......)。它是正确的。如果我想输入下一个字符,我会再次收到警报。

我认为这对用户来说很讨厌。更好的修改(根据我的说法) - 如果我输入无效字符,我会收到警报 - 确认确定,无效字符将被删除。

你知道它是做什么的吗?谢谢

P.s.:抱歉我的英语不好。

最佳答案

尝试删除最后一个字符:

$(this).val($(this).val().substring(0,$(this).val().length-1));

并将其放在 return false;

之前

关于javascript - jQuery 替换无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933063/

相关文章:

jquery - 如何使预加载器图像首先加载

javascript - 延迟的 jquery 脚本在所有其他脚本之后加载

javascript - CEWP 打印按钮,带有用于打印 SharePoint 表单的代码?

javascript - 从 API onclick 加载数据

javascript - 使用 addEventListener 加载 DOMContent

javascript - 为什么 'this' 在箭头函数中引用时返回 'undefined' 而在匿名函数中调用时却不返回?

javascript - 如何连续播放播放列表中的所有音乐?

php - 将数据从 PHP 脚本发送回 JQuery AJAX 请求

asp.net-mvc - Ajax 调用从 ASP.NET MVC Controller 获取 GeoJson 数据

javascript - 捕获错误时 JavaScript 源映射是否有效?