8

我在这个小提琴中有如下代码:

<span id="someid">check this phrase </span><br>
<span id="result"></span> 

在这里,我在“短语”一词之后放置了一个空格,但是当我放置条件语句时,它总是返回一个结果。如何检查字符串的结尾是否有空格?

4

4 回答 4

17

您可以通过以下正则表达式检查文本值是否以空格结尾:

/\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)]

如果您只需要空间使用:/ $/.

于 2013-02-13T17:24:11.300 回答
6

一个更简单明了的解决方案是使用 .endsWith()

"hallo ".endsWith(" "); // true
于 2017-11-24T07:43:08.907 回答
3

这样做: -

/(.*)\s+$/

JS:

var mystring = $("#someid").text();

$("#someid").click(function(event) {
    if(/(.*)\s+$/.test(mystring)) {
        $("#result").text("space");
    }
    else
    {
        $("#result").text("no space");    
    }
}); 

参考现场演示

于 2013-02-13T17:33:11.133 回答
2

您的正则表达式/%(?!$)/检查不在字符串末尾的百分号,而不是空格。

如何检查字符串的结尾是否有空格?

使用/\s$/。

于 2013-02-13T17:24:19.620 回答