如何检查结束的字符串是否有“\ r \ n”

时间:2015-05-06 09:23:46

标签: javascript

我在正则表达式方面不擅长,我只想问一下,如果字符串结束,我该如何检查字符串“\ r \ n”?

提前谢谢。

1 个答案:

答案 0 :(得分:5)

您不需要正则表达式:

if (str.substr(-2) === "\r\n") {
    // Yes, it does
}

当您将负索引传递给substr时,它会将其表示为“从字符串的末尾开始”。因此"1234".substr(-2)会为您提供"34"

如果需要使用正则表达式,则为/\r\n$/,例如:

if (/\r\n$/.test(str)) {
    // Yes, it does
}

\r\n按字面匹配,$是“断言”,意思是“输入在这里结束”。因此,\r\n如果不在最后,则不会匹配。

值得注意的是,下一版本的JavaScript ES6将在字符串上使用endsWith方法,并且许多JavaScript引擎(Chrome中的V8,Firefox中的SpiderMonkey)已经拥有它。因此,如果不存在,您可以将其填充:

if (!String.prototype.endsWith) {
    String.prototype.endsWith = function(suffix) {
        return this.substr(-suffix.length) === suffix;
    };
}

...如果不存在任何干扰,如果不存在则加上它,然后使用它:

if (str.endsWith("\r\n")) {
    // Yes, it does
}