Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用户名输入代码中不允许有空格_Jquery - Fatal编程技术网

Jquery 用户名输入代码中不允许有空格

Jquery 用户名输入代码中不允许有空格,jquery,Jquery,可能重复: 我的代码没有空格。好吧,至少我认为它是为注册用户名中没有空格…现在看它是为每一个单一的关键了!有人能帮我把它改成空间吗 (function($){ $(function(){ $('#username_reg').keyup(function(){ str = $(this).val(), str = str.replace(/\s/g,''), $(this).val(str),

可能重复:

我的代码没有空格。好吧,至少我认为它是为注册用户名中没有空格…现在看它是为每一个单一的关键了!有人能帮我把它改成空间吗

(function($){
    $(function(){
        $('#username_reg').keyup(function(){
            str = $(this).val(),
            str = str.replace(/\s/g,''),
            $(this).val(str),
            alert('No space are allowed in usernames');
        });
    });
})(jQuery);
我刚才也尝试过这段代码,但没有成功:/

$("input#username_reg").on("keydown", function (e) {
    return e.which !== 32;
 });​

我相信以下代码将满足您的要求:

jQuery(function($){
    $('#username_reg').keyup(function(e){
        if (e.which === 32) {
            alert('No space are allowed in usernames');
            var str = $(this).val();
            str = str.replace(/\s/g,'');
            $(this).val(str);            
        }
    }).blur(function() {
        var str = $(this).val();
        str = str.replace(/\s/g,'');
        $(this).val(str);            
    });
});
也就是说,在keyup上,如果钥匙是空格,则显示带有消息的警报并移除空格。而且,在“模糊”中删除字段中可能存在的任何空格,因为用户可以在不使用键盘的情况下复制/粘贴或拖动“n”drop

演示:

编辑:如果是我的代码,我可能会完全删除该警报-我只需在键向下时调用
event.preventDefault()
,防止键入空格,并且在复制/粘贴时仍会删除模糊上的空格

$('#username_reg').keydown(function(e){
    if (e.which === 32) {
        e.preventDefault();      
    }
}).blur(function() {
    // for variety's sake here's another way to remove the spaces:
    $(this).val(function(i,oldVal){ return oldVal.replace(/\s/g,''); });         
});

演示:

我相信以下代码可以满足您的要求:

jQuery(function($){
    $('#username_reg').keyup(function(e){
        if (e.which === 32) {
            alert('No space are allowed in usernames');
            var str = $(this).val();
            str = str.replace(/\s/g,'');
            $(this).val(str);            
        }
    }).blur(function() {
        var str = $(this).val();
        str = str.replace(/\s/g,'');
        $(this).val(str);            
    });
});
也就是说,在keyup上,如果钥匙是空格,则显示带有消息的警报并移除空格。而且,在“模糊”中删除字段中可能存在的任何空格,因为用户可以在不使用键盘的情况下复制/粘贴或拖动“n”drop

演示:

编辑:如果是我的代码,我可能会完全删除该警报-我只需在键向下时调用
event.preventDefault()
,防止键入空格,并且在复制/粘贴时仍会删除模糊上的空格

$('#username_reg').keydown(function(e){
    if (e.which === 32) {
        e.preventDefault();      
    }
}).blur(function() {
    // for variety's sake here's another way to remove the spaces:
    $(this).val(function(i,oldVal){ return oldVal.replace(/\s/g,''); });         
});

演示:

我的朋友,你需要一些令人敬畏的正则表达式……正确的格式使其他人更容易帮助你。仅供参考,您可以省略外部函数表达式,只需执行
jQuery(函数($){…})。为什么每行末尾都有逗号?格式?对不起,如果你说的是缩进,我真的不知道除了“整洁”之外缩进有什么区别。我不使用正则表达式。是的,它在上面的代码中,但一位同事不久前帮助我编写了代码。回调函数接收一个
事件
作为参数,因此您可以检查
event.keyCode
以查看它是否是一个空格。'我不使用正则表达式。'-是的,这就是代码中的
/\s/g
位。'我真的不知道除了“tidyness”之外,缩进之间有什么区别。-区别在于缩进清楚地表明哪些代码行被分组在哪个函数中,这使我们更容易阅读和理解您的代码,从而更容易帮助您。(你的方式就是编码相当于做这样的事情。)你,我的朋友,需要一些令人敬畏的正则表达式……正确的格式使其他人更容易帮助你。仅供参考,您可以省略外部函数表达式,只需执行
jQuery(函数($){…})。为什么每行末尾都有逗号?格式?对不起,如果你说的是缩进,我真的不知道除了“整洁”之外缩进有什么区别。我不使用正则表达式。是的,它在上面的代码中,但一位同事不久前帮助我编写了代码。回调函数接收一个
事件
作为参数,因此您可以检查
event.keyCode
以查看它是否是一个空格。'我不使用正则表达式。'-是的,这就是代码中的
/\s/g
位。'我真的不知道除了“tidyness”之外,缩进之间有什么区别。-区别在于缩进清楚地表明哪些代码行被分组在哪个函数中,这使我们更容易阅读和理解您的代码,从而更容易帮助您。(你的编码方式相当于做这样的事情。)这段代码似乎不起作用,原因很奇怪。这是不是不兼容跨浏览器?请不要恨我这样问:/对不起,我忘了在函数声明中包含
e
参数,因此这是一个错误。修复,并提供演示。非常感谢您nnnnnn您救了我!虽然我不会撒谎,但在我看来,这是一个笑话,我并不擅长编码。清晰地非常感谢你!那个代码似乎不起作用,原因很奇怪。这是不是不兼容跨浏览器?请不要恨我这样问:/对不起,我忘了在函数声明中包含
e
参数,因此这是一个错误。修复,并提供演示。非常感谢您nnnnnn您救了我!虽然我不会撒谎,但在我看来,这是一个笑话,我并不擅长编码。清晰地非常感谢你!