求正则表达式,字母和数字组合且必须以字母开头,至多12位

求正则表达式,字母和数字组合且必须以字母开头,至多12位

阅读 9.4k
6 个回答
 /^[a-z](?=.*?\d)[a-z\d]{0,11}$/i
demo('a') // => false
demo('aa') // => false
demo('aa2a1a2s1df5we56f45') // => false
demo('a1') // => true
demo('aa2') // => true
demo('aa2a') // => true

function demo (str) {
  str = String(str)
  var res = /^[a-zA-Z][a-zA-Z0-9]{1,11}$/.test(str) && /\d/g.test(str)
  console.log(str, res)
  return res
}
/^[A-Za-z][A-Za-z\d]{0,11}$/

楼上写法也可以,不过似乎限制了必须字母开头,第二位必须为数字,可以试试/^[a-zA-Z][a-zA-Z0-9]{0,11}$/

对一行进行如你所述的限制
正常的:

^[A-Za-z]([\w && ^_]{0,11})

"\w"表示匹配0-9和所有字母,包括下划线,所以将下划线排除,并采用“贪婪模式”进行匹配。
在如果"\"需要转义,应该为

^[A-Za-z]([\\w && ^_]{0,11})

如果可以全为字母:

/^[A-Za-z][A-Za-z\d]{0,11}$/.test(pwd)

如果必须同时包含数字和字母:

/^[A-Za-z][A-Za-z\d]{1,11}$/.test(pwd) && /[\d]/.test(pwd)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题