REGEX仅匹配VALID EXCEL COLUMNS(A-XFD)

时间:2014-04-17 17:31:00

标签: javascript regex validation

好的,我对每个人都有另一个问题。

我有一个包含多个验证步骤的字段。第一步是确保它不是空白,第二步是确保只输入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

    }
}

任何进一步的方向都将非常受欢迎,因为我现在已经通过正则表达式进行了几个小时并且迷失了。

我过去曾在类似的问题上获得过帮助,而且我很难模仿当时提供的功能,如下所示:

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

它不起作用...请帮忙

1 个答案:

答案 0 :(得分:2)

由于您已经确定该值为1-3个字母字符,如何:

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

任何带有2个或更少字母的值都应该是可以接受的,对于三个字母的情况,字母比较就足够了。