PHP very strict complex string validation using preg_match(使用preg_Match进行非常严格的复杂字符串验证)
本文介绍了使用preg_Match进行非常严格的复杂字符串验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试根据强加给我的以下正则表达式验证字符串:
[-,.:; 0-9A-Z&@$£¥€'"«»‘’""?!/\()[]{}<>]{3}[-,.:; 0-9A-Z&@$£¥€'"«»‘’""?!/\()[]{}<>*=#%+]{0,157}
有人可以帮助在PHP中编写preg_match
来验证输入字符串吗?我挣扎是因为:
- 我对正则表达式的了解本来就不是很好
- 我在正则表达式本身中看到一些特殊字符,如果我直接将它们插入字符串(如$GB元,欧元),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";
}
提前谢谢!!
推荐答案
您可以这样做:
if (preg_match('~^[ -"$&-),-<>?-]{}£¥€«»‘’""]{3}[ -]{}£¥€«»‘’""]{0,157}$~u', $ste))
echo 'OK';
else
echo 'Not OK';
我为Unicode增加了u修饰符,并使用范围缩小了字符类的大小(例如:,-<
表示Unicode表中,
到<
之间的所有字符)。
但最重要的是,我添加了锚点^
和$
,这分别表示字符串的开始和结束。
这篇关于使用preg_Match进行非常严格的复杂字符串验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使用preg_Match进行非常严格的复杂字符串验证
基础教程推荐
猜你喜欢
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01