2014-01-07 110 views
0

我想只允許使用字母,數字NEW LINE和。:??()-_字符。所有都是find,但我沒有得到whre添加新的行代碼請糾正我下面的代碼正則表達式允許字母,數字和換行

if(!preg_match('/^[0-9a-zA-Z .:,?"()-_]{30,1000}\r?\n$/', $sendermessage) 
{ 
echo error.... 
} 

感謝..

回答

1

添加\r\n你的性格里面組(並從其他地方將其刪除,如果不需要那裏!):

[0-9a-zA-Z .:,?"()-_\r\n] 

如果您只能使用\n(無\r)取決於您的平臺。
Here是對字符組的更多解釋。

你的整個正則表達式應該是這樣的:

/^[0-9a-zA-Z .:,?"()-_\r\n]{30,1000}$/ 
+0

感謝親愛的...我用之前\ n而不是用\ r。謝謝你它的工作很好..我不能接受你的答案前9分鐘..我會做到這一點.. – user2841252

+0

Yah其工作很好.. thanx .. – user2841252

+0

如果你有一個連字符 - 在角色類[...],要麼逃避它 - 要麼放在最後,所以它不會被誤解爲_range_。您可能還需要使用模式('「/.../ s」')上的「s」標誌來查看換行符。 –

相關問題