检查字符串的结尾是否有效的正则表达式并返回正则表达式修剪的字符串 -

时间:2013-09-03 04:52:45

标签: javascript jquery regex

这是尝试用代码解释一下 -

str = 'testfoostringfoo';
var regex = /foo$/;

if (str.match(regex) == true) {
    str.trim(regex);
    return str; //expecting 'testfoostring'
}

我正在寻找使用javascript实现此目的的最简单方法,尽管jQuery可用。谢谢你的时间。 :



在@Kobi的帮助下完全正常运行的代码 -

var str = 'testfoostringfoo';
var regex = /f00$/;

if (str.match(regex)) {
    str = str.replace(regex, '');
    return str; //returns 'testfoostring' when the regex exists in str
}

1 个答案:

答案 0 :(得分:2)

你应该只是replace

str = 'testfoostringfoo';
var regex = /foo$/;
str = str.replace(regex, '');
return str;

我删除了ifreplace在找不到regex时不会影响字符串。

请注意,match会返回一系列匹配项(['foo']),因此与true的比较无论如何都会失败:if(str.match(regex) == true)中的条件始终为false。
您正在寻找if(str.match(regex))if(regex.test(str))

请注意trim在JavaScript中有点新,并且它不接受参数,它只是删除空格。