正则表达式:固定长度字母后跟数字
我需要一个允许输入的正则表达式,让我们说5个符号 - 字母或数字,但字母应该总是后面跟数字?正则表达式:固定长度字母后跟数字
它需要像[0-5 letters][0-5 digits]
这样的东西,但字符串的总长度应该是5个符号。
问题是,我无法设法在应用前两个表达式之后限制字符串的长度。
我已经试过类似
^[a-zA-Z]{0,5}[0-9]{0,5}$
但它不是我想要的东西 - 它不限制长度。
例子:
- AAAAA
- AA777
,不应该匹配的例子:
- AAA7A
- 77AAA
- AAA777
可以使用的正则表达式来断言字符串的开头前瞻断言(?=.{5}$)
总是五个长度:
var samples = ['AAAAA', // match
'AA777', // match
'77777', // match
'AAA7A', // doesn't match pattern
'77AAA', // doesn't match pattern
'AAA777' // match the pattern but doesn't match the length
]
console.log(
samples.map(s => /^(?=.{5}$)[a-zA-Z]*[0-9]*$/.test(s))
)
我喜欢这个答案我打算使用更复杂的断言。 –
@AlexCollins谢谢。 – Psidom
尽管您可以在前瞻中使用'[a-zA-Z0-9]'而不是'''来立即拒绝非字母数字字符。 –
那么,你有什么试过吗?你遇到什么问题?我们不在这里为你做你的工作。 – Cerbrus