我想知道如何编写一个正则表达式,表示'并且没有空格'。我需要在下面的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');
}
});
非常感谢任何帮助,谢谢
答案 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
}