Javascript 用于空字符串或空白的正则表达式
我试图检测用户是否在文本框中输入空白:Javascript 用于空字符串或空白的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,我试图检测用户是否在文本框中输入空白: var regex = "^\s+$" ; if($("#siren").val().match(regex)) { echo($("#siren").val()); error+=1; $("#siren").addClass("error"); $(".div-error").append("- Champ Siren/Siret ne doit pas etre vide<br/>"); }
var regex = "^\s+$" ;
if($("#siren").val().match(regex)) {
echo($("#siren").val());
error+=1;
$("#siren").addClass("error");
$(".div-error").append("- Champ Siren/Siret ne doit pas etre vide<br/>");
}
var regex=“^\s+$”;
if($(“#siren”).val().match(regex)){
回声($(“#警报器”).val();
误差+=1;
$(“#siren”).addClass(“错误”);
$(“.div错误”)。追加(“-Champ Siren/sirent ne doit pas etre vide
”);
}
如果($(“#siren”).val().match(regex))
应该匹配空白字符串,但是,它似乎不起作用,我做错了什么
感谢您的帮助如果您使用的是jQuery,那么就有了
.trim()
.match
调用中的\
(反斜杠)未正确转义。不过,使用正则表达式文字会更容易。这两种方法都有效:
var regex = "^\\s+$";
var regex = /^\s+$/;
还要注意,
+
至少需要一个空格。如果要查找空字符串以及需要使用*而不是*的空格,则可能需要使用*
+
var regex = /^\s*$/ ;
^
这是我的解决方案
var error=0;
var test = [" ", " "];
if(test[0].match(/^\s*$/g)) {
$("#output").html("MATCH!");
error+=1;
} else {
$("#output").html("no_match");
}
遇到类似问题,正在字符串中查找空格,解决方案:
- 要搜索1个空间,请执行以下操作:
示例:“用户姓氏”var regex = /^.+\s.+$/ ;
- 要搜索多个空间,请执行以下操作:
示例:“用户姓氏”var regex = /^.+\s.+$/g ;
“您的字符串内容”。trim();
//=>“您的字符串内容”
如果您只需要支持JavaScript 1.8浏览器,那么就有@ExplosionPills,我确信jQuery在内部实现了这一点,而OP已经使用了jQuery。@Overcode在哪里可以看到简单性?trim()也使用正则表达式,比/^\s*$/IMHO更复杂,这表明代码的意图比正则表达式更清楚。Sayingfoo.trim()=''
表示“忽略空格的字符串是否为空?”。说foo.match(/^\s*$/)
就是问“字符串foo是否与正则表达式定义的状态机匹配?”。是的,正则表达式很简单,但仍然不太清楚。您也不能保证通过正则表达式定义trim
,许多JS引擎都内置了它。@yan谈到了原生trim。至于“状态机”部分,你做得太过分了:-)当你说“似乎不起作用”时,你能更具体一点吗?您是否可以共享失败的输入示例?我使用var regex=“^\\s+$”;它很有魅力,非常感谢大家
var regex = /^.+\s.+$/g ;