js正则表达式中如何使用变量?
答案:6 悬赏:40
解决时间 2021-02-27 07:09
- 提问者网友:神仙爷爷
- 2021-02-26 13:26
如reg是正则要替换的内容,里面有变量,但如下这么写不可使用?<br><script><br>var ch = "aaa";<br>var reg = "/"+ch+"/ig";<br>var str = 'aaa bbb ccc aaa aaa';<br>var val = str.replace(reg,"");<br>alert(val);<br></script><br>没有写反,我是想把 str 里面的aaa去掉。
最佳答案
- 二级知识专家网友:努力只為明天
- 2021-02-26 15:00
用eval转义,你现在reg是一个字符串<br>正确写法<br><script><br>var ch = "aaa";<br>var reg = "/"+ch+"/ig";<br>var str = 'aaa bbb ccc aaa aaa';<br>var val = str.replace(eval(reg),"");<br>alert(val);<br></script>
全部回答
- 1楼网友:野性且迷人
- 2021-02-26 18:18
你的正则表达式写错了
aaaaaa你没说明怎么处理,我理解为 只处理 aaa,类似 baaac aaaaaaac这类的都不处理,那么正则表达式是
\ba{3}\b
- 2楼网友:承载所有颓废
- 2021-02-26 17:01
我这里给你写了一个例子<br>var reg = /^[a-za-z]$/;// 这里是 正则表达式,大小写英文字母都可以<br> if (reg.test(username.value) != true) {<br>alert("用户应为全英文");<br>}<br>希望对你有用,如果还有问题,请继续追加问题
- 3楼网友:短发女王川岛琦
- 2021-02-26 16:51
<script><br>var ch = "aaa";<br>var pattern = ch;<br>var reg = new RegExp(pattern, "ig");<br>var str = 'aaa bbb ccc aaa aaa';<br>var val = str.replace(reg,"");<br>alert(val);<br></script>
- 4楼网友:单身小柠`猫♡
- 2021-02-26 16:22
var reg = "/"+ch+"/ig";
这行改一下,怎么改我不知道,哈哈
看例子:
result = subject.replace(/aaa/ig, "");
/aaa/ig 这不是string如果是string就是这样写的
result = subject.replace("/aaa/ig", "");
你
var val = str.replace(reg,"");
的结果就像是
var val = str.replace("/aaa/ig","");
这样是不会正确的. 因为正确的应该是
var val = str.replace(/aaa/ig,"");
所以,你做reg 的时候做错了,
reg 不应该做成字符串, 应该做成pattern, js里怎么做我不清楚,应该有点类似于
var reg = new pattern("aaa");
- 5楼网友:迷人小乖乖
- 2021-02-26 15:40
var eval("/"+ch+"/ig");
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯