我在fiddle中有如下代码:
<span id="someid">check this phrase </span><br>
<span id="result"></span>
这里我在“短语”这个词之后放了一个空格,但是当我放入一个条件语句时,它总是会返回一个结果。如何检查字符串末尾的空格?
答案 0 :(得分:13)
您可以通过以下正则表达式检查文本值是否以空格结尾:
/\s$/
/\s$/
表示字符串末尾的一个空格。
<强> JSFiddle 强>
<强>的JavaScript 强>
var mystring = $("#someid").text();
$("#someid").click( function (event) {
if(/\s+$/.test(mystring)) {
$("#result").text("space");
} else {
$("#result").text("no space");
}
});
由于 jfriend00 注意到\s
并不仅仅意味着空间,所以它是白色空间[即还包括标签(\ t)]
如果您只需要空间使用:/ $/
。
答案 1 :(得分:3)
这样做: -
/(.*)\s+$/
var mystring = $("#someid").text();
$("#someid").click(function(event) {
if(/(.*)\s+$/.test(mystring)) {
$("#result").text("space");
}
else
{
$("#result").text("no space");
}
});
参考 LIVE DEMO
答案 2 :(得分:2)
您的正则表达式/%(?!$)/
会检查不在字符串末尾的百分号,而不是空格。
如何检查字符串末尾的空格?
使用/\s$
/。
答案 3 :(得分:2)
更简单明了的解决方案是使用.endsWith()
“hallo”.endsWith(“”); // true