我期待在javascript中使用正則表達式進行名稱檢查。[字母數字]的正則表達式建議[字母數字.- _ @] 31個字符
- 的值可以包含字母數字和下列特殊字符 ( ' - ', '_' 和 '@' '')。
- 它應該始終以字母數字字符開頭。
- 它不應該是一個空字符串。
- 此參數的最大允許長度爲31個字符。
- 該參數不區分大小寫。
我想出了這個,但覺得不正確。有關如何讓它萬無一失的任何建議?
^[A-Za-z0-9]+[[email protected]]{30}
我期待在javascript中使用正則表達式進行名稱檢查。[字母數字]的正則表達式建議[字母數字.- _ @] 31個字符
我想出了這個,但覺得不正確。有關如何讓它萬無一失的任何建議?
^[A-Za-z0-9]+[[email protected]]{30}
你是非常接近,這裏是正確的正則表達式:
/^[a-z0-9][\[email protected]]{0,30}$/i
我施加的folloing變化:
$
錨固到端\w
替換a-zA-Z0-9_
並移動-
到端字符分類{30}
至{0,30}
請參閱Regex101-Demo進行一些單元測試。
^[A-Za-z0-9][[email protected]]{0,30}
-
在與托架的,所以它不會被用作範圍{,30}
+
第一字符之後(沒有它你會得到> 31個字符)您可以隨時在www.regexr.com
\-
。{30}
到{0,30}
,因爲它並不需要準確地31個字符長A-Z
零件$
結果是這樣的:
/[a-z0-9][[email protected]\-._]{0,30}/i
您應該進一步將'-'移動到'[A-Za-z0-9 _ @ .-]'的末尾,並且不要使用固定重複的'30',而是使用0-30'{0,30}' –
你可以將'[A-Za-z0-9 _ @ .-]'改成'[\ w @ .-]' –
@SebastianProske - Ohr right。如果我放一個{30}它只會查找長度= 30的權利?我需要它匹配30以下的任何東西。所以..這樣的事情?^[A-Za-z0-9] [A-Za-z0-9 _ @ .-] {0,30}我們正在移動 - 到最後,因爲它不應該像A-Z表示那樣拾取一系列字符? – blueren