Javascript 字符串中精确单词的Jquery正则表达式测试
我试图找出如何检查字符串中的特定单词,如果该单词存在,则设置一个新变量 我有以下jQuery代码:Javascript 字符串中精确单词的Jquery正则表达式测试,javascript,jquery,regex,Javascript,Jquery,Regex,我试图找出如何检查字符串中的特定单词,如果该单词存在,则设置一个新变量 我有以下jQuery代码: val= $('#' + this_id).val(); val可以包含不同的字符串 我知道我能做到: if (/Approve/i.test(val)) { msg = "Approve" } 但这也符合,批准。。我如何仅批准匹配? 最终,我希望能做到: 如果val包含Approve msg=“Approve” 如果val包含Approved消息=“Approved” 如果val包含
val= $('#' + this_id).val();
val可以包含不同的字符串
我知道我能做到:
if (/Approve/i.test(val)) {
msg = "Approve"
}
但这也符合,批准。。我如何仅批准匹配?
最终,我希望能做到:
如果val包含Approve msg=“Approve”
如果val包含Approved消息=“Approved”
如果val包含Reject msg=“Rejected”
谢谢您可以使用:
根据,
有三种不同的位置可以作为单词边界:
- 在字符串的第一个字符之前,如果第一个字符是单词字符
- 如果最后一个字符是单词字符,则在字符串中最后一个字符之后
- 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符
if (/^Approve$/i.test(val)) {
var msg = "Approve"
}
^
标记开始
$
标记结束
功能检查(val){
var-msg;
如果(/^Approve$/i.test(val)){
msg=“批准”;
}否则,如果(/^Approved$/i.test(val)){
msg=“已批准”;
}否则如果(/^Reject$/i.test(val)){
msg=“拒绝”;
}否则{
msg=“错误”;
}
警报(msg);
}
检查(“批准”);
检查(“批准”);
检查(“拒绝”);
检查(“你好”)
由于某些原因,这对我来说失败,返回未定义的消息。@JeffVader更新了我的答案。@falsetru添加了一个else
块。如何在动态变量中应用单词边界?我有var regEx=new RegExp(k)代码>在循环中&k对应于对象的键。@techie_28,var regEx=new RegExp('\\b'+k+'\\b',i')
(如果它包含在正则表达式中具有特殊含义的字符,则需要转义k
)
if (/^Approve$/i.test(val)) {
var msg = "Approve"
}