Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查URL在所选链接上是否有字母和符号_Php_Preg Match - Fatal编程技术网

Php 检查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'){ 如果(预匹配('/[\'^.$%&*()}{

我想要拒绝当前页面和所选url的字母和符号

我只想要数字

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
放在digit
preg\u match('/\d+/ims')
非常感谢你,Vishnu Bhadoriya,你的代码比Ynhockey好,我现在解决了这个问题
/^[1-9][0-9]{0,10}$/