如何在JavaScript中使用带有变量的正则表达式?

时间:2016-11-30 01:14:39

标签: javascript regex variables indexof

此代码想要检查数组是否包含名称,并且数组中所有名称的第一个字母都是大写。有许多用户在不使用名字的大写字母的情况下写下他们的名字。

所以我想在代码中传递这个条件,通过正则表达式(/ i),我可以将它与字符串和其他一些函数一起使用,但我不能将它与变量一起使用。

有人能帮助我吗?

function runTest() {
    "use strict";
    
    var value = document.getElementById("inin").value;
    
    if (names.indexOf(value) > -1) {
        x.innerHTML = "yes " + value + " your name is here, your are fully approved";
    } else {
        x.innerHTML = "Sorry, Your name isn't here";
    }
}

1 个答案:

答案 0 :(得分:1)

在这种情况下,您不需要正则表达式。只需确保您的列表全部是大写或大写,只需将传入值转换为该大小写。



var outputEl = document.getElementById("output");
var names = [ 'mary', 'bob', 'joseph' ];

function runTest() {
  "use strict";

  var value = document.getElementById("inin").value;

  if (names.indexOf(value.toLowerCase()) > -1) {
    outputEl.innerHTML = "Yes " + value + ", your name is here, you're fully approved.";
  } else {
    outputEl.innerHTML = "Sorry, Your name isn't here.";
  }
}

<input type="text" id="inin" value="Bob" />
<input type="button" value="Test" onClick="runTest()" />
<br />
<span id="output"></span>
&#13;
&#13;
&#13;