使用javascript/jQuery测试函数数组

使用javascript/jQuery测试函数数组,javascript,jquery,arrays,if-statement,userscripts,Javascript,Jquery,Arrays,If Statement,Userscripts,我目前正在从文档中提取姓氏,并使用 var txt = $('p.overview.text').text(); var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1); GM_setClipboard(lastName); 但我想根据数组测试姓氏,以确保它不是这些“I”、“II”、“III”、“IV”等中的任何一个,因为在其中给我文档和姓氏的系统有时会出错,如果某人有罗马数字(即J

我目前正在从文档中提取姓氏,并使用

    var txt = $('p.overview.text').text();
    var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
    GM_setClipboard(lastName);
但我想根据数组测试姓氏,以确保它不是这些“I”、“II”、“III”、“IV”等中的任何一个,因为在其中给我文档和姓氏的系统有时会出错,如果某人有罗马数字(即Jerry Louis VI=“VI”而不是“Louis”),则会给我罗马数字(而不是姓氏)

在运行它之前,我尝试在实际文档上首先测试它

    var txt = $('p.overview.text').text();
    var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
    var lastNameVal = lastName[0]; // This is the correct variable for actual use
    lastNameVal = "I"; // This is how I am testing it, will delete when done with testing

    if (lastNameVal.text !== "I") {
        GM_setClipboard(lastNameVal);
    }
上面的工作原理是,它在赋值后检测变量值为“I”。但很明显,我需要用一组罗马数字来测试这一点,可能要用到XII左右。我已经尝试在if语句中使用| |(or)操作符创建一个数组来测试类似的so

        if (lastNameVal !== "I" || "II" || "III") {
        GM_setClipboard(lastNameVal);
    }
但这是行不通的。。。 实现这一目标的最佳方式是什么?谢谢

试试:

  if (!(lastNameVal == "I" || lastNameVal ==  "II" || lastNameVal == "III")) {
            GM_setClipboard(lastNameVal);
        }

保留一个罗马数字数组以进行核对

var txt = $('p.overview.text').text();
var lastName = txt.split('Last Name:').pop().split("First Name:").shift().trim();

var romans = ["I","II","III","IV","V","VI","VII","VIII","IX"];

if (romans.indexOf(lastName) === -1) {
    GM_setClipboard(lastName);
}