我怎么写一个正则表达式表达'和没有空格'?

时间:2010-12-01 10:20:05

标签: 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('border','1px solid #a5acb2'); 
    }else{ 
       $(this).css('border','1px solid red'); 
    }
});

非常感谢任何帮助,谢谢

4 个答案:

答案 0 :(得分:4)

试试这个:

&& (!val.match(/\s/))
如果没有空格(或至少一个空格),

match会返回null,因此您可以将其用作条件。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

在您的代码第3行之前cleaning the whitespaces会有帮助吗? (可能不那么具有侵入性)

答案 3 :(得分:1)

您可以在同一个正则表达式中进行操作(猜测邮政编码是数字)。

('1234567').match(/^\d{5,}$/) // ['1234567']
('1234').match(/^\d{5,}$/) // null
('12 34').match(/^\d{5,}$/) //null
('123 4567').match(/^\d{5,}$/) //null

所以代替:

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

使用:

if(val.match(/^\d{5,}$/)) {
    //code
}