Jquery正则表达式测试字符串中的确切单词

Jef*_*der 2 javascript regex jquery

我正在尝试找出如何检查特定单词的字符串,如果该单词存在则设置一个新变量

我有以下jQuery代码:

val= $('#' + this_id).val();
Run Code Online (Sandbox Code Playgroud)

val可以包含不同的单词串.

我知道我能做到:

if (/Approve/i.test(val)) {
    msg = "Approve"
}
Run Code Online (Sandbox Code Playgroud)

但这也匹配,已批准..我如何仅匹配批准?我最终会这样做:

如果val包含Approve msg ="Approve"

如果val包含Approved msg ="Approved"

如果val包含Reject msg ="Rejected"

谢谢

fal*_*tru 7

你可以使用word boundary(\b):

if (/\bApprove\b/i.test(val)) {
    msg = "Approve";
}
Run Code Online (Sandbox Code Playgroud)

根据正则表达式教程 - 单词边界,

有三种不同的职位符合词边界:

  • 在字符串中的第一个字符之前,如果第一个字符是单词字符.
  • 在字符串中的最后一个字符之后,如果最后一个字符是单词字符.
  • 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符.