regex 仅匹配有效EXCEL列的正则表达式(A-XFD)

2mbi3lxu  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(186)

好了,我还有一个正则表达式问题要问大家。
我有一个字段有多个验证步骤。第一步是确保它不是空白,第二步是确保只输入1到3个大写字母,第三步是确保它不包含“[”(在这个场景中,左括号表示函数,我们跳过验证)。所有这些都可以工作。现在,我必须确保输入的值只是有效的Excel列引用。有效的Excel列可以是字母A - XFD。
我目前使用的是:

if (checkValue !==""){   //check for not blank
    if ((checkValue.match(/^[A-Z]{1,3}$/) === null) && (functionCheck === false) && (validateColumnRange(rangeFrom))) { //check for only 1 - 3 alpha chars & run function check (function looks for "["), and run function check to validate column range

    //do A - XFD validation here

    }
}

任何进一步的方向将非常感谢,因为我已经通过regex图茨几个小时了,现在我迷路了。
我曾经在过去的一个类似的问题上得到过帮助,我可怜的尝试模仿当时提供的功能如下:

function validateColumnRange(valueRange) {
    if (typeof valueRange !== "string" || !valueRange.length)
        return false;
    var startIndex = valueRange.search(/[\d+]/);
    var column = valueRange.substring(0, startIndex).toUpperCase();
    return (column >= "A" && column <= "XFD");
}

不管用了...请帮帮忙

kqlmhetl

kqlmhetl1#

既然您已经确定该值为1-3个字母字符,那么下面的代码如何:

(column.length < 3 || column <= "XFD")

任何2个或更少字母的值都是可以接受的,对于3个字母的情况,字母比较是足够的。

yi0zb3m4

yi0zb3m42#

使用此正则表达式:

/^[A-XFD]+$/

相关问题