密码必须在6到10位之间,且要求第一个字符为大写的英文字母,密码中需要至少有一个 # 特殊符号的正则表达式

新手上路,请多包涵

需要做一个表单验证,要求如下:
密码必须在6到10位之间,且要求第一个字符为大写的英文字母,密码中需要至少有一个 # 符号
想了半天也没想出答案来。

^A-Z[0-9a-zA-Z]{5,9}

这个接近成功,但问题也很明显

^A-Z{5,9}

这个没有包含至少一个的条件,所以不写#也可以。

请高手指教,谢谢!

阅读 4.1k
3 个回答
/^(?=[A-Z].{5,9}$)(?=.*#.*$)/.test('A12345####1')

我这边写的是6-10位,大写字母开头,包含#,没有特殊字符做限制,你如果要限制不能输入特殊字符可以自行修改。

/^[A-Z]/ 为大写字母开头
/^[A-Z][\#a-Z0-9]{5,9}/ 尝试一下
后来修改了下,只能想到用比较笨的方法,进行 | 或操作了,对正则也不是很了解希望你找到更好的办法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题