2008-11-14 36 views
1

你好,我正在寫一個正則表達式(我可能會添加我生命中的第一次),但我無法弄清楚如何去做我想要的。到目前爲止,這麼好,因爲我已經只允許字母和空格(只要它不是第一個字符),現在我所缺少的是我不想讓字符之間有任何數字......任何人都可以幫助我好嗎?如何禁止正則表達式中的數字?

/^[^\s][\sa-zA-Z]+[^\d\W]/ 
+0

你能給你試圖匹配一些有效的(也許是無效的)輸入文本的例子嗎? – 2008-11-14 15:39:36

回答

4

OK,你需要的是:

/^[a-zA-Z][\sa-zA-Z]*$/ 

這符合:

^   - start of line 
[a-zA-Z] - any letter 
[\sa-zA-Z]* - zero or more letters or spaces 
$   - the end of the line 

如果你想確保它也結束於一個字母然後把另一個

[a-zA-Z] 

之前$。但是請注意,字符串必須包含至少兩個字母(每個末尾一個)才能匹配。

1

如果你只希望允許字母和空格,然後你有什麼是正確的差不多:

/^[a-zA-Z][\sa-zA-Z]*$/ 

$在最後表示該字符串的結尾。

編輯以正確的答案,由於@Alnitak

1

如果要確保只出現單詞之間的空格,使用此:

/^[A-Za-z]+(?:\s+[A-Za-z]+)*$/ 
相關問題