2010-06-03 25 views
4

我想要使用preg_match(),以便在給定的字符串中不應該有特殊字符,例如`@#$%^ & /'`。preg_match in php

例如:

Coding:輸出有效
:輸出無效(字符串開頭空間)
Project management:輸出有效的(空間兩個單詞之間是有效的)
'Design23':輸出有效
23Designing:輸出無效
123:輸出無效

我試過但無法達到有效答案。

+0

這聞起來像功課。如果是這樣請標記爲 – 2010-06-03 11:45:03

+0

重新標記..... – Satish 2010-06-03 11:47:03

回答

0

嘗試

'/^[a-zA-Z][\w ]+$/' 
+0

謝謝我得到的結果和邏輯太 – Satish 2010-06-04 11:43:41

2

像這樣的正則表達式有幫助嗎?

^[a-zA-Z0-9]\w*$

這意味着:

  • ^ =此模式必須從字符串
  • [a-zA-Z0-9]的開頭開始=此字符可以是任何字母(a-zA-Z)或數字(0-9 ,另見\d
  • \w =單詞字符。這包括字母,數字和空格(沒有新行默認)
  • * =重複的事情0次或更多次
  • $ =這種模式必須在字符串的結尾完成

要滿足我錯過了病情,試試這個

^[a-zA-Z0-9]*\w*[a-zA-Z]+\w*$

我添加了額外的東西讓它有第一字符是數字,但它必須包含因爲0123的信因爲+表示1或更多。

+0

啊,剛剛看到123無效。這聞起來像功課... – 2010-06-03 11:44:43

+0

當然,有可能是一個更好的方式來做到這一點,標準的「我沒有測試過這個」免責聲明適用 – 2010-06-03 11:48:57