2013-12-19 115 views
0

試圖讓這個正則表達式的工作:驗證的正則表達式與字母數字和特殊字符

^([a-zA-Z]+)([a-zA-Z0-9\.\(\)]*){1,10}$ 


([a-zA-Z]+)
起始字符必須爲a-zA-Z,然後另外字符在同一範圍內,這是工作。

([a-zA-Z0-9\.\(\)]*)
任意數量的額外字符可以是a-zA-Z,或者.(),而這工作。

其中{1,10}限制長度不超過10個字符,最小值爲1個字符;該部分不起作用。我嘗試了使用不同的圓括號組合,但無法獲得驗證的長度。

回答

1

使用此:

^[A-Za-z][a-zA-Z0-9.()\s-]{0,9}$ 

更新以包括空格和支持-

您不能使用多個捕獲組{x,x}範圍類;它僅適用於單個字符或字符類。

既然你知道你想要它至少有1個字符,[A-Za-z](在^行的開頭)已經要求;其餘的,你現在可以允許0或9次與{0,9},完成聲明與結束線$

請參閱Live demo

+0

我以爲'''必須逃脫? +1在regex101! – raffian

+1

@raffian常見的誤解;)'.'不需要在字符類中轉義,只要不用於定義字符範圍,''也不需要轉義。 – brandonscript

+0

Aaaand正如我們發現的那樣,'()'大聲笑。 – brandonscript

相關問題