如何用正则表达式校验符合指定数字掩码的4位字符串有效性?
正则表达式解决方案
符合要求的正则表达式
const regex = /^(08|09)\d{2}$|^[4-7]\d{3}$/;
规则拆解
^和$:锚定字符串首尾,确保输入刚好是4位,无多余字符(08|09):匹配前两位为08或09的情况\d{2}:匹配任意两位数字,对应掩码中的##[4-7]:匹配第一位为4、5、6、7中的任意一个\d{3}:匹配任意三位数字,对应掩码中的###|:逻辑或,连接两种符合规则的模式
测试示例
regex.test('1234'); // false(不符合掩码规则) regex.test('abcd'); // false(非数字内容) regex.test('5000'); // true(第一位为5,符合4###类规则) regex.test('0810'); // true(前两位为08,符合08##类规则) regex.test('0999'); // true(前两位为09,符合09##类规则) regex.test('7123'); // true(第一位为7,符合7###类规则) regex.test('3999'); // false(第一位为3,不在4-7范围内)
内容的提问来源于stack exchange,提问作者grabury
相关产品推荐
相关产品推荐

