我必须定义一个会员ID,它是一个3个字符的字符串,可以有大写/小写字母和数字。
例如AA2和2AA或A22是有效的正则表达式。这与位置无关,我需要确保字符串中至少有一个数字。
当前表达式为([a-z]|[A-Z]|[0-9]){3}
。我应该添加什么作为寻找数字的“条件”?
提前谢谢你, 利维乌
答案 0 :(得分:1)
您可以使用这样的前瞻:
^(?=[A-Za-z]*[0-9])[A-Za-z0-9]{3}$
(?=[A-Za-z]*[0-9])
是一个积极的先行者,断言我们在0或更多字母后至少有一个数字。
答案 1 :(得分:1)
您可以分开条件:
cond.1
和cond.2
只有在两者都为真的情况下才会成立,这意味着在cond.1
我们检查字符串是否包含3个字符,而在cond.2
我们检查它是否包含一个数字:
var a=/([a-zA-Z]|[0-9]){3}/g
var b=/([0-9]){1,2}/g
if(a && b){
//return true only if the word contains 3 characters and including at least a number
}