首页 新闻 搜索 专区 学院

js正则建立的两种方法求解

0
悬赏园豆:10 [已解决问题] 解决于 2012-10-30 11:43

如果用new RegExp建立正则可以用$name变量值,用/ /的方法建立正则怎么做?

  var $name = "time";
        var reg = new RegExp($name,"g");
        var str = "time is one datimey time"
        alert(str.replace(reg,""))

二。如果用//建立正则可以用\b边界符,在用new RegExp的情况下怎么做,特别是在上例中使用$name变量的情况下

        var reg =/\btime\b/
        var str = "time is one datimey time"
        alert(str.replace(reg,""))
break_happy的主页 break_happy | 初学一级 | 园豆:5
提问于:2012-10-29 17:23
< >
分享
最佳答案
1

new RegExp("xxx","g");

还要加其它的直接加上去就行了,如:new RegExp("xxx","gi");,顺序没关系。

向往-SONG | 老鸟四级 |园豆:4853 | 2012-10-29 18:12
其他回答(4)
0
没太看明白你的意思,给你一个例子 你看看 验证用户名的:

            var name = document.getElementById("name").value;
            reg = new RegExp(/^[a-z]{6,12}$/i);
            if (!(reg.test(name))) {
                alert("请输入6到12位纯字母用户名!");
                return false;
            }

i 表示忽略大小写

 
oppoic | 园豆:560 (小虾三级) | 2012-10-29 17:36

就是说 var p=/test/g  这是正则匹配“test”字符串。但是如果这里的test是一个js变量 var test="kitty",那我应该怎么写

支持(0) 反对(0) break_happy | 园豆:5 (初学一级) | 2012-10-29 17:46
0
new RegExp(pattern, attributes);
第二个参数可以指定"g"、"i" 和 "m"
http://www.w3school.com.cn/js/jsref_obj_regexp.asp
收获园豆:10
for certain | 园豆:324 (菜鸟二级) | 2012-10-29 17:42
0
  var test="test";
          
  reg = new RegExp(/test/i);
           
if (!(reg.test(test))) {
               
document.write('匹配不是很成功哦,亲!');
              
  return false;
           
}
else{
    confirm("已经匹配成功!亲");
  
 }
房主试试吧 我已测试过 test 加了引号 能匹配成功 ,不加 则失败
转角遇到bug | 园豆:227 (菜鸟二级) | 2012-10-29 21:37
0

楼主是想匹配变量值,不要匹配变量名,是吧

如果变量名和变量值一样的话,那就应该找到两者的不同,然后再决定使用什么正则表达式,而这里变量名和变量值的不同就是变量值有引号,因此正则表达式需要体现引号……

so,楼上说的应该是正确的……

ms_water | 园豆:510 (小虾三级) | 2012-10-30 08:53

"匹配变量值,不要匹配变量名" 是的

支持(0) 反对(0) break_happy | 园豆:5 (初学一级) | 2012-10-30 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册