使用 javascript/jQuery 测试函数的数组

Testing an array for a function with javascript/jQuery

我目前正在从文档中提取姓氏并将它们复制到用户脚本中的剪贴板,使用...

    var txt = $('p.overview.text').text();
    var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
    GM_setClipboard(lastName);

但我想针对数组测试 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 语句中创建一个数组(或)运营商像这样进行测试...

        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);
}