Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查字符串中的最后一个字符是否为';空间';?_Javascript_Regex - Fatal编程技术网

Javascript 如何检查字符串中的最后一个字符是否为';空间';?

Javascript 如何检查字符串中的最后一个字符是否为';空间';?,javascript,regex,Javascript,Regex,我的代码如下所示: 检查此短语 在这里,我在单词“phrase”后面放了一个空格,但是当我放一个条件语句时,它总是返回一个结果。如何检查字符串的结尾是否有空格?您可以通过以下正则表达式检查文本值是否以空格结尾: /\s$/ /\s$/表示字符串末尾有一个空格 JavaScript var mystring = $("#someid").text(); $("#someid").click( function (event) { if(/\s+$/.test(mystring))

我的代码如下所示:

检查此短语

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

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

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

JavaScript

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

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

    }    
}); 
正如jfriend00所注意到的
\s
不仅仅意味着空格,它是空白[即也包括制表符(\t)]

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

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

如何检查字符串末尾是否有空格

使用
/\s$
/。

按以下方式操作:-

/(.*)\s+$/
JS:
参考

一个更简单、更清晰的解决方案是使用.endsWith()


你所说的返回一个结果是什么意思?你在说什么有条件的陈述?看看我贴的小提琴。另一种方法:你是如何得到正则表达式的?我到处都能找到随机答案,但不确定正则表达式是否正确。感谢您的回答您之前发布了将
/\s+$/
作为正则表达式的fiddle,这也很有效。此正则表达式与
/\s+$/
之间有什么区别?
\s+
表示一个或多个空格,
\s
表示单个空格。您不需要在字符串末尾多加一个空格就可以知道字符串以空格结尾,这就是为什么不需要
+
的原因。从技术上讲
\s
不仅仅代表一个空格。如果您只想检查一个空格,那么在正则表达式中使用一个实际的空格。
/$/
。是的,您是对的,它意味着空白,也可以包括制表符(\t)。在
/(.*)\s+$/
正则表达式和另一个类似的
/\s$/
之间有什么区别?既然有很多选择?
/(.*)\s+$/
var mystring = $("#someid").text();

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