我试图检测用户是否在文本框中输入空格:
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/>");
}
if($("#siren").val().match(regex))
应该匹配空白字符串,但是,它看起来不起作用,我做错了什么?
感谢您的帮助
答案 0 :(得分:26)
\
来电中的.match
(反斜杠)未正确转义。但是,使用正则表达式文字会更容易。要么工作:
var regex = "^\\s+$";
var regex = /^\s+$/;
另请注意,+
至少需要一个空格。您可能想要使用*
。
答案 1 :(得分:22)
如果你正在使用jQuery,那么你有.trim()
。
if ($("#siren").val().trim() == "") {
// it's empty
}
答案 2 :(得分:20)
如果您要查找除空格之外的空字符串,则需要使用*而不是+
var regex = /^\s*$/ ;
^
答案 3 :(得分:2)
这是我的解决方案
var error=0;
var test = [" ", " "];
if(test[0].match(/^\s*$/g)) {
$("#output").html("MATCH!");
error+=1;
} else {
$("#output").html("no_match");
}
答案 4 :(得分:0)
有类似的问题,正在寻找字符串中的空格,解决方案:
要搜索1个空格:
var regex = /^.+\s.+$/ ;
示例:“user last_name”
要搜索多个空格:
var regex = /^.+\s.+$/g ;
示例:“用户姓”
答案 5 :(得分:0)
谈论脚本和空格时的一个重要说明:浏览器将空格,空格,制表符和换行符解析为空格确实意味着它们实际上是空格。空格本身就是Error: No node found for selector: .save-btn
(字符160)。即通常,如果您在Mac上编写PHP文件,并且神奇地不仅击中了空格,您还会看到一个看起来像空格但又不是空格的字符。要删除该错误并使突然开始出现的神奇错误500消失,请从脚本中删除所有\xA0
(字符160)。 (搜索时,在TextWrangler / BBEdit中,您在搜索对话框中选中了“ Grep”复选框-在Coda,Eclipse等中应该类似)。需要花费一些时间来弄清楚。即使不是100%与该主题匹配,它也是当您精确搜索该问题时在Google上的第一个结果。希望对别人有帮助。
答案 6 :(得分:0)
如果只关心字符串开头和结尾的空格(而不是中间的空格),那么另一种选择是使用String.trim():
" your string contents ".trim();
// => "your string contents"