我有以下正则表达式来测试字符输入是否为大写字母和数字
const isCapitalLetters = value => /^[A-Z]/.test(value);
如何测试我是否只允许单个连字符可以输入字符串的中间而不是在结尾或开头。
答案 0 :(得分:1)
这样做:
/^([A-Z0-9]|[A-Z0-9]+-?[A-Z0-9]+)$/.test(value)
('|'之前的部分确保一个字符的字符串将通过测试)
答案 1 :(得分:1)
如果您只想在开头和开头使用可选的超级字母来测试大写字母和数字,可以这样做:
^
[A-Z\d]+
-?
[A-Z\d-]*
[A-Z\d]
$
如果您允许使用单个字符,则可以使用非捕获组和|
来首先检查单个大写字符或数字: