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
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
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(“”); //真的