javascript - 检查字符串的末尾是否存在有效的正则表达式并返回正则表达式 trim 后的字符串-

标签 javascript jquery regex

这里试图用代码解释得更清楚一些--

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

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

虽然 jQuery 可用,但我正在寻找仅使用 javascript 来完成此任务的最简单方法。谢谢你的时间。 :]



在@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
}

最佳答案

您应该简单地替换:

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

我删除了 if,当 regex 找不到时,replace 不影响字符串。

请记住 match返回一组匹配项 (['foo']),因此与 true 的比较无论哪种方式都会失败:if(str.match(regex) 中的条件== true) 始终为 false。
您正在寻找 if(str.match(regex))if(regex.test(str)) .

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

关于javascript - 检查字符串的末尾是否存在有效的正则表达式并返回正则表达式 trim 后的字符串-,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584312/

相关文章:

jquery - 使用 jquery 更改具有多个值的单个变量

php - 如何使用 PHP 验证正则表达式

java - 正则表达式\w字符类和等号

javascript - 从 localStorage 读取和写入?

javascript - 将 javascript Http Upload 脚本转换为 Curl 命令

javascript - History.js 和同源策略遍历 SSL

javascript - 无法将事件监听器附加到动态创建的按钮

javascript - 为什么我在向下滚动时不重新加载数据,而在无限滚动中返回到页面顶部时重新加载数据?

javascript - “你接受条款和条件吗?”关于登录表单例份验证 MVC3

Java 正则表达式 - 字符 "("和 ")"与模式 "[\\p{Alpha} ' -,.] 匹配