Php 检查URL在所选链接上是否有字母和符号
我想要拒绝当前页面和所选url的字母和符号 我只想要数字Php 检查URL在所选链接上是否有字母和符号,php,preg-match,Php,Preg Match,我想要拒绝当前页面和所选url的字母和符号 我只想要数字 if(@$_GET['page'] == '$string') { if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string)) { die("error : page url found letters and symbols"); } } if(@$\u GET['page']=='$string'){ 如果(预匹配('/[\'^.$%&*()}{
if(@$_GET['page'] == '$string') {
if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string))
{
die("error : page url found letters and symbols");
}
}
if(@$\u GET['page']=='$string'){
如果(预匹配('/[\'^.$%&*()}{@#~?>,|=.+,-]/',$string))
{
die(“错误:页面url找到字母和符号”);
}
}
例如xxx.com/index.php?page=是数值()
将检查参数是否为数字()。像这样使用它:
if (!is_numeric($_GET['page'])) {
die('is not an integer');
}
清理int值的最简单方法是将其转换为int(不要向用户显示错误): 但是,如果您确实需要检查并且确实需要使用正则表达式,请检查类似于
[^0-9]
的内容,它表示任何不能作为自然数一部分的字符
如果没有正则表达式,您可以使用
is\u numeric()
检查,始终使用preg\u match
函数,因为is\u numeric
测试值是否为数字。但它不一定是整数——它可以是十进制数,也可以是科学记数法中的数字
$pageNumber = $_GET['page'];
if(preg_match('/^[1-9][0-9]{0,10}$/',$pageNumber))
{
echo "Page is number";
}
else
{
echo "Page is not a number";
}
如果使用$\u GET
进行分页,也不允许超过10位
/^[1-9][0-9]{0,10}$/
这将允许字符串长度在1到10位之间(即第一位数字加上0到10位其他数字)。请随意调整花括号中的数字,以满足您自己的需要。如果需要固定长度的字符串,则只需在大括号中指定一个数字
如果你只想要整数,那么你应该把
preg\u match
放在digitpreg\u match('/\d+/ims')
非常感谢你,Vishnu Bhadoriya,你的代码比Ynhockey好,我现在解决了这个问题
/^[1-9][0-9]{0,10}$/