空格

2011-04-22 20 views
1

我用這個規則來驗證我的很多的Java Web應用程序的輸入字段:空格

"^[a-zA-Z0-9]+$" 

,但我需要修改它,因爲我有幾個領域需要允許空格(例如:地址)。

我該如何修改它以允許空格(,如果可能的話不要在開頭)。

我想我需要使用一些景觀性格像\

我嘗試了幾種不同的組合,但沒有一次成功。有人可以幫我用這個正則表達式嗎? ^[a-zA-Z0-9]+[a-zA-Z0-9 ]+$

+0

我做到了更換空間:這是我使用的模式:'^([A-ZA-Z0-9] + [a-zA-Z0-9] + $)?'最後我用?當字段需要是可選的。 感謝您的回答。 – sfrj 2011-04-22 09:28:15

回答

7

我建議使用這樣的:

^[a-zA-Z0-9][a-zA-Z0-9 ]+$ 

它增加了兩兩件事:第一,你保證不會有開頭的空間,同時讓你需要的字符。之後,允許使用字母a-zA-Z,以及所有數字和空格(在我的正則表達式的末尾有一個空格)。

+0

這允許_any_ char(不是空格)作爲第一個字符(例如:@&^ $ @ *&^ $#)(@#* $')可能不是你想要的! – ridgerunner 2011-04-22 07:47:31

+0

@ridgerunner:你是對的;我更新了我的答案。我會說這是最易於使用的版本 – darioo 2011-04-22 08:04:35

1

嘗試這樣^ [A-ZA-Z0-9] + $那就是,在它

+0

以字符嘗試像這樣^ [a-zA-Z0-9] [a-zA-Z0-9] + $ – 2011-04-22 07:27:33

2

使用此添加一個空格。這應該工作。 First atom確保開始時至少有一個字符。

+0

第一個'+'是不必要的。 – 2011-04-22 07:28:44

+0

@Oskar是的。你是對的。所以正確的是'^ [a-zA-Z0-9] [a-zA-Z0-9] + $'。我認爲darioo的正則表達式更加緊湊。 – 2011-04-22 07:40:11

3

如果你想只使用一個空格,你可以這樣做:

^[a-zA-Z0-9 ]+$

如果你想包括標籤\t新線\n\r\n字符,你可以這樣做:

^[a-zA-Z0-9\s]+$

另外,由於喲ü問,如果你不想要的空白是在開始時

^[a-zA-Z0-9][a-zA-Z0-9 ]+$

1

此正則表達式不容許在字符串的結尾空格,一個缺點它接受也下劃線。

^(\w+)+\w+|\w+$ 
1

試試這個:我假設任何至少有一個字符長度的輸入是有效的。前面提到的答案沒有考慮到這一點。

"^[a-zA-Z0-9][a-zA-Z0-9 ]*$" 

如果要允許所有空格字符,用 「\ S」