如何检查字符串中的最后一个字符是否为“空格”?

时间:2021-08-28 20:14:02

I have a code as follows in this fiddle:

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

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

Here I have placed a space after the word 'phrase', but when I put a conditional statement it always returns one result. How is it possible to check the end of the string for a space?

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

4 个解决方案

#1


12  

You can check whether the text value ends with space by the following regular-expression:

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

/\s$/

/\s$/ means one space at the end of the string.

/ \ s $ /表示字符串末尾的一个空格。

JSFiddle

的jsfiddle

JavaScript

JavaScript的

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

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

    }    
}); 

As jfriend00 noticed \s does not means only space, it's white-space [i.e. includes tab too (\t)]

正如jfriend00注意到\ s并不仅仅意味着空间,它是白色空间[即也包括标签(\ t)]

If you need only space use: / $/.

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

#2


3  

Do this way:-

这样做: -

/(.*)\s+$/

JS:

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

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

Refer LIVE DEMO

参考现场演示

#3


2  

Your regex /%(?!$)/ checks against a percent sign that is not at the end of the string, not a space.

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

How is it possible to check the end of the string for a space?

如何检查字符串末尾的空格?

Use /\s$/.

使用/ \ s $ /。

#4


0  

A more simple and clear solution would be using .endsWith()

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

"hallo ".endsWith(" "); // true

“hallo”.endsWith(“”); //真的

#1


12  

You can check whether the text value ends with space by the following regular-expression:

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

/\s$/

/\s$/ means one space at the end of the string.

/ \ s $ /表示字符串末尾的一个空格。

JSFiddle

的jsfiddle

JavaScript

JavaScript的

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

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

    }    
}); 

As jfriend00 noticed \s does not means only space, it's white-space [i.e. includes tab too (\t)]

正如jfriend00注意到\ s并不仅仅意味着空间,它是白色空间[即也包括标签(\ t)]

If you need only space use: / $/.

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

#2


3  

Do this way:-

这样做: -

/(.*)\s+$/

JS:

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

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

Refer LIVE DEMO

参考现场演示

#3


2  

Your regex /%(?!$)/ checks against a percent sign that is not at the end of the string, not a space.

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

How is it possible to check the end of the string for a space?

如何检查字符串末尾的空格?

Use /\s$/.

使用/ \ s $ /。

#4


0  

A more simple and clear solution would be using .endsWith()

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

"hallo ".endsWith(" "); // true

“hallo”.endsWith(“”); //真的