Javascript 如何编写一个正则表达式来表示';而且没有空格';?
我想知道如何编写一个表示“且无空格”的正则表达式。我需要在下面的if语句中实现它,请参见以下内容: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
$('#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
returnnull
如果没有空格(或至少有一个空格),则可以将其用作条件
&& (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
}