当前位置 : 首页 » 互动问答 » 正文

JQuery正则表达式检查长度每次不工作

分类 : 互动问答 | 发布时间 : 2018-04-27 15:05:46 | 评论 : 1 | 浏览 : 15 | 喜欢 : 0

对不起,模糊的标题,我不知道如何调用这个奇怪的'错误'。

我用JQuery检查输入。输入值必须不少于5个字符

(输入'昵称'的长度低于5时显示红色错误信息)

My regex : [A- z0-9] {4} (它从0开始)

 $(function(){
    var nicknameErrorChecked = false;

    $('input [name = nickname]')。keypress(function(){
        if(!$('input [name = nickname]').val()。match(“[A-z0-9] {4}”)&&!nicknameErrorChecked)
        {
            $('input [name = nickname]')。after(“<span class ='nicknameError'> Le pseudo estcomposéd'au minimum 5 lettres。</ span>”);
            nicknameErrorChecked = true;
        }

        如果($( '输入[名称=昵称]')。VAL()。匹配( “[A-Z0-9] {4}”))
        {
            $( '形式')。找到( 'nicknameError')。remove()方法
            nicknameErrorChecked = false;
        }
    });

    $( “#msgbox_form”)。提交(函数(E){
        if(!$('input [name = nickname]')。val()。match(“[A-z0-9] {4}”)){e.preventDefault(e); }
    });
});

What does nicknameErrorChecked ?它允许我仅显示一次消息。

它可以完美工作,直到您决定删除已经写入的某些字符。然后,它接受长度为2.如果你在4但是2以下,它不会显示消息。但是如果你从这一点开始写字符,它将会再次起作用。

例如:

I写'测试',它会显示消息。 我添加1→'test1'→消息就像它应该消失。 我删除几个字母→'tes'→消息不显示。 我清除,直到我得到'te'→消息正在显示。 然后它会显示,直到我有5个字母(所以它再次运行)。

我希望你能理解我的怪异错误,如果没有,请随时问我任何问题。

在此先感谢:)

回答(1)

  • 1楼
  • try this?

    $('input [name = nickname]')。on('input',function(){
        如果(!$(本).VAL()。匹配( “[A-Z0-9] {5}”)){
            //少于5个字符
            $( 'nicknameError')显示();
        }
        其他{
            //
            $( 'nicknameError。')隐藏()。
        }
    }); 
     .nicknameError {
        显示:无;
    } 
     <script src =“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js”> </ script>
    <input type =“text”name =“nickname”>
    <span class ='nicknameError'> Le pseudo estcomposéd'au minimum 5 lettres。</ span>

相关阅读:

Can I call jquery click() to follow an <a> link if I haven't bound an event handler to it with bind or click already?

jQuery event to trigger action when a div is made visible

Check if user is using IE with jQuery

Change the image source on rollover using jQuery

How to get the data-id attribute?

jQuery .scrollTop(); + animation

wait() or sleep() function in jquery?

jQuery "blinking highlight" effect on div?

Set select option 'selected', by value

jQuery AJAX submit form