如何在javascript中传递匹配函数中的变量?

时间:2014-07-16 12:00:43

标签: javascript jquery html regex

首先,这可能听起来像一个重复的问题,但我无法使用之前提出的问题解决我的问题: 这是我的HTML页面:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <script>

    function test() {
      var totalids='XYZ@@';
      var variable_name=document.getElementById('p1').value.replace(/^\s+|\s+$/g,''); 
      var result = totalids.match(/variable_name/i);
      if (result){
        alert('Matched');
      } else {
        alert("Not Matched");
      }
    }
    </script>
</head>

<body>
    <input type="button" value="click on me" onclick="test()">
     <input type="text" value="xyz" id="p1">
 </body>
 </html>

这个程序与我的String不匹配。我希望使用不区分大小写的匹配来匹配我的字符串。我知道问题出在这一行:

 var result = totalids.match(/variable_name/i);

我无法在匹配函数中传递变量。我可以这样做;

 var re = new RegExp(str1, "g");

但我不知道如何使用上面的行进行不区分大小写的搜索。

1 个答案:

答案 0 :(得分:3)

以下是:

var re = new RegExp(str1, "gi");