如何编写一个正则表达式,说'和无空格'?
问题描述:
我不知道我怎么会写一个正则表达式,说“和NO whitespaces'.I需要实现这个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
回报null
如果没有空间(或者至少有一个空格),所以你可以使用它作为一个条件。
答
&& (val.indexOf(" ") == -1)
注意:如果有其他选项可用,则不应使用正则表达式。
+0
是的,但`\ s`也检查标签和换行符。通常人们把````称为“空格”,其余的部分称为“空格”,但它是正常空格的更好解决方案。 – Kobi 2010-12-01 10:26:40
答
你可以在同一个正则表达式中猜测(猜测邮编是数字)。
('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
}
如果你真的想,你可以将长度检查合并到使用`如果(val.match(正则表达式/^\ S {5,} $ /))`(注意大写字母S),但我不确定它会更好。 – Kobi 2010-12-01 10:31:16
这很好,谢谢万亿 – Nasir 2010-12-01 10:35:32