Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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
Javascript 如何编写一个正则表达式来表示';而且没有空格';?_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 如何编写一个正则表达式来表示';而且没有空格';?

Javascript 如何编写一个正则表达式来表示';而且没有空格';?,javascript,jquery,regex,Javascript,Jquery,Regex,我想知道如何编写一个表示“且无空格”的正则表达式。我需要在下面的if语句中实现它,请参见以下内容: $('#postcode').blur(function(){ var postcode = $(this), val = postcode.val(); if((val.length >= 5) && (*******)){ postcode.val(val.slice(0, -3)+' '+val.slice(-3)).css('bord

我想知道如何编写一个表示“且无空格”的正则表达式。我需要在下面的if语句中实现它,请参见以下内容:

$('#postcode').blur(function(){
    var postcode = $(this), val = postcode.val();

    if((val.length >= 5) && (*******)){ 
       postcode.val(val.slice(0, -3)+' '+val.slice(-3)).css('border','1px solid #a5acb2'); 
    }else{ 
       $(this).css('border','1px solid red'); 
    }
});
非常感谢您的帮助,谢谢您尝试以下方法:

&& (!val.match(/\s/))
match
return
null
如果没有空格(或至少有一个空格),则可以将其用作条件

&& (val.indexOf(" ") == -1)

注意:如果其他选项可用,则不应使用正则表达式。

在代码第3行之前是否有帮助?(可能不那么麻烦)

您可以在同一个regexp中同时执行这两项操作(猜测邮政编码是数字)

因此,不是:

if((val.length >= 5) && (*******)){
    //code
}
使用:


正确,但
\s
也会检查制表符和换行符。通常人们把
称为“空格”,其余的称为“空白”,但对于普通空格来说,这是一个更好的解决方案。这一点很好。如果这只是一个单行编辑控件,
空格
是唯一合理的空白。但是,如果是文本区域,则可以有选项卡、换行符等(也可以从剪贴板粘贴到文本输入字段中)。Regex在这里实际上是合理的,因为它匹配任何类型的空格。@Kobi,@Piskvor:你们都是对的。将“”、制表符、换行符及其所有漂亮的
\r
\n
变体组合在一起可能会导致空格匹配出现问题。在这种情况下,正则表达式是最好的解决方案,但我的答案是基于OP的问题;-)如果你真的想,你可以使用
If(val.match(/^\S{5,}$/)
(注意大写的S)将长度检查合并到正则表达式中,但我不确定这是否更好。我刚刚在一条评论中发布了类似的内容。根据可能的值,您可能需要
\S
而不是
\d
if((val.length >= 5) && (*******)){
    //code
}
if(val.match(/^\d{5,}$/)) {
    //code
}