2012-02-15 135 views
19

我需要正則表達式的幫助。我需要一個表達式,它只允許帶有空格的字母。大學名稱。帶空格的字母的正則表達式

我使用:

var regex = /^[a-zA-Z][a-zA-Z\\s]+$/; 

,但它不工作。

+0

的'在您正則表達式\\ s'應該是簡單地'\ s'。 – 2012-02-15 07:45:25

+4

2件事你不應該忘記:1.接受Petar的回答(也許編輯*爲+;它現在匹配空字符串)。 2.因爲這被標記爲javascript,請檢查服務器上的輸入;人們可以禁用JavaScript併發布任何內容到您的服務器。 Javascript檢查可以幫助用戶即時反饋*而不是*保護您的應用程序免受錯誤的輸入。 – 2012-02-15 08:07:23

回答

45

只需將空間添加到[]:

var regex = /^[a-zA-Z ]*$/; 
+3

只有空格字符也會被這個正則表達式 – 2015-03-22 04:54:17

+1

匹配,但是這也會接受只有空格的字段沒有任何字母表,如何避免這種情況? – 2016-11-14 14:02:26

+0

使用trim()函數 – 2017-07-15 07:02:52

13

這將工作:

[a-zA-Z][a-zA-Z ]+ 
+3

初看,我覺得有2個分組是多餘的,但後來意識到你的答案有利於強制輸入以字母caracter開頭。 + 1'ed。謝謝! – stefgosselin 2013-11-12 17:32:14

-1

這工作了不允許在開頭空格和接受字符,數字和特殊字符

/(^\w+)\s?/ 
+0

OP提供'大學名稱'爲例,您的正則表達式與整個文本不匹配,只有第一個單詞。這也匹配'word @ $%&/',它不應該是 – Mariano 2015-11-19 12:00:10

0

這將允許字符之間的空格,並且不允許數字或特殊字符TER值。它也不會允許在開始和結束的空間。

[a-zA-Z][a-zA-Z ]+[a-zA-Z]$ 
+1

如果你想驗證整個主題文本,你應該把它錨定到'^'。你可能想提到它不允許只包含一個字母的字符串。也請使用代碼格式 – Mariano 2016-07-29 08:04:01

+0

這確實允許在行首的空格 – Diego 2017-08-15 22:37:12

0

這將接受帶有空格的字母輸入,但不只是空格。它也適用於單個字符輸入。

[A-ZA-Z] +([\ s]的[A-ZA-Z] +)*

+0

你試過了嗎?它不接受空間。但它匹配'a; bb,cc:d.eee?f§gga' – Toto 2017-01-26 10:09:18

+0

感謝您指出。稍作更正編輯答案。 – 2017-02-01 12:40:49