2012-03-01 58 views
-4

我想驗證表單中的名稱。名稱可以是如:如何驗證名稱

Knop 
knop 
knop-Doe 
knop doe 
Knop Doe Bald 
Knop-Doe-Bald 

而且我有問題的空間。我在表單中有:

forms.RegexField(regex=r'[a-zA-Z0-9_.-]+$', max_length=36, required=True) 

但是這不起作用。

怎麼辦?

+9

什麼不行?有效名稱未經驗證?無效的名稱通過了嗎?你會得到一個異常? OS錯誤?你的硬盤崩潰了?監視器爆炸了?什麼? – DrTyrsa 2012-03-01 13:54:12

+2

+1用於監視器爆炸 – armonge 2012-03-01 15:23:16

回答

1

你的正則表達式是匹配小寫字母a-z,大寫字母A-Z,數字0-9,下劃線_,點.和連字符-

它不匹配空格,所以像Knop Doe Bald這樣的名稱將不匹配。

嘗試,包括正則表達式

r'[a-zA-Z0-9_. -]+$' 

注意連字符前的空格變爲一個空間,而不是之後,否則連字符將被解釋爲一個範圍。