0

我正在制作一个php表单。我想验证 PHP 中的数字内容。我正在使用这个 PHP 代码来做这件事。

if (!preg_match('/^[0-9]*$/',$id)) 
{
    $id_Err = "Only numbers allowed";
}

但是这段代码允许数字以 0 开头。

ex:- 01,02,.....,0100...

我只需要允许像

1,2,....100,...

我该如何编写这个正则表达式?

4

1 回答 1

1

这个正则表达式应该可以工作。

if (!preg_match('/^[1-9][0-9]*$/',$id)) 
{
    $id_Err = "Only numbers allowed";
}

它强制正则表达式匹配来自 的数字1-9,然后匹配 0 或更多的任何数字。这将观察任何大于零的正整数。

如果您还想允许单个零:

if (!preg_match('/^(?:[1-9][0-9]*)$|^0$/',$id)) 
{
    $id_Err = "Only numbers allowed";
}
于 2013-09-26T04:53:40.517 回答