2014-01-07 119 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”标志来查看换行符。 –

相关问题