【发布时间】:2013-10-25 18:35:40
【问题描述】:
我正在尝试根据强加给我的以下正则表达式验证字符串:
[-,.:; 0-9A-Z&@$£¥€'"«»‘’“”?!/\\()\[\]{}<>]{3}[-,.:; 0-9A-Z&@$£¥€'"«»‘’“”?!/\\()\[\]{}<>*=#%+]{0,157}
任何人都可以帮助在 PHP 中编写 preg_match 来验证输入字符串吗?我正在苦苦挣扎,因为:
- 一开始我对正则表达式的了解并不是很好
- 我在正则表达式本身中看到特殊字符,我确信 PHP 不会对我直接插入字符串感到高兴(例如 $£¥€)
徒劳地希望我只是尝试将它粘贴到preg_match,转义双引号,因此:
$ste = "Some string input";
if(preg_match("/[-,.:; 0-9A-Z&@$£¥€'\"«»‘’“”?!/\\()\[\]{}<>]{3}[-,.:; 0-9A-Z&@$£¥€'\"«»‘’“”?!/\\()\[\]{}<>*=#%+]{0,157}/",$ste))
{
echo "OK";
}
else
{
echo "Not OK";
}
提前致谢!!
【问题讨论】:
-
你已经有了你的正则表达式。那么这到底是怎么回事?
-
那么,你想要一个可以匹配正则表达式的字符串,你不知道哪个函数?为什么?
-
你应该启用错误报告,你会注意到你应该在你的正则表达式中转义
/或将分隔符替换为~之类的东西。
标签: php regex validation preg-match