我试着为一个字母Z和12个数字做正则表达式。event.target.value = event.target.value.replace(/[^Z{1}+(\d{12})]/, '');对我来说,在输入字段中可以输入一个字母Z,然后只输入12位数字是必要的。请帮帮我。
event.target.value = event.target.value.replace(/[^Z{1}+(\d{12})]/, '');
mwkjh3gx1#
正则表达式为
/^Z\d{12}$/
^
Z
{1}
\d{12}
$
const regex = /^Z\d{12}$/; console.log(regex.test('Z123456789012')); // true console.log(regex.test('X123456789012')); // false - begins with wrong letter console.log(regex.test('Z1234567890')); // false - <12 digits console.log(regex.test('Z123456A89012')); // false - letter mixed into digits console.log(regex.test('Z123456789012345')); // false - >12 digits
1条答案
按热度按时间mwkjh3gx1#
正则表达式为
^
匹配字符串的开头Z
与初始的Z
匹配,不需要{1}
,因为模式总是精确匹配一次,除非量化。\d{12}
正好匹配12位数字$
匹配字符串的结尾