鍍金池/ 問答/Java  影視  HTML/ 密碼必須在6到10位之間,且要求第一個字符為大寫的英文字母,密碼中需要至少有一個

密碼必須在6到10位之間,且要求第一個字符為大寫的英文字母,密碼中需要至少有一個 # 特殊符號的正則表達式

需要做一個表單驗證,要求如下:
密碼必須在6到10位之間,且要求第一個字符為大寫的英文字母,密碼中需要至少有一個 # 符號
想了半天也沒想出答案來。

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

這個接近成功,但問題也很明顯

^A-Z{5,9}

這個沒有包含至少一個的條件,所以不寫#也可以。

請高手指教,謝謝!

回答
編輯回答
墨染殤

/^[A-Z]/ 為大寫字母開頭
/^[A-Z][\#a-Z0-9]{5,9}/ 嘗試一下
后來修改了下,只能想到用比較笨的方法,進行 | 或操作了,對正則也不是很了解希望你找到更好的辦法。

2018年2月5日 21:45
編輯回答
墨小白
/^(?=[A-Z].{5,9}$)(?=.*#.*$)/.test('A12345####1')

我這邊寫的是6-10位,大寫字母開頭,包含#,沒有特殊字符做限制,你如果要限制不能輸入特殊字符可以自行修改。

2017年4月30日 10:56
編輯回答
祉小皓
^(?=.*#)[A-Z][a-zA-Z\d#]{5,9}$

點擊查看匹配情況

2017年8月13日 20:41