鍍金池/ 問答/HTML/ 求一個關(guān)于用戶名得字母數(shù)字正則表達式?

求一個關(guān)于用戶名得字母數(shù)字正則表達式?

正則要求是:小寫字母開頭,+數(shù)字/字母/減號,最少3位,最長16位

我自己參考了一些百度的資料,就差一點點就ok了,現(xiàn)在有個小問題,調(diào)不出來。

/^[a-z][a-z1-9-]{3,16}$/

我輸入 4個a,aaaa 是不匹配的。這個滿足最小長度3。
我輸入 17個a, 還是匹配了。輸入19個a,才不匹配。
應(yīng)該是17個a,就不匹配了。就false了。

這個是咋回事,按照那個表達式理解,好像沒什么錯誤,實際是不行。

回答
編輯回答
青檸

/^[a-z][a-zA-Z0-9\-]{2,15}$/

2018年1月17日 19:13
編輯回答
六扇門

因為{n, m}表示匹配前面的字符至少n次,最多m次。所以你的正則表達式匹配的是最少4位,最長17位。所以只需要將你的正則表達式改為/^[a-z][a-z1-9-]{2,15}$/即可

2018年5月9日 12:30