[英]Regular Expression accept exactly 4 digit number. Including 0 at beginning
我需要创建一个正则表达式,以确保用户输入的数字包括4位数字,即使首位数字为0。
0001
应该为true。 00020
应该为假。 030
应该是假的。 此正则表达式应包含在一个类中,当我使用: / ^ \\ d {4} $ /时 ,如果数字以0开头(自动更改为int并删除零..),它将不起作用。 如果我将数字放在“”中,则可以,但是我想要更好的正则表达式。
如何编写正则表达式以使其在数字开头接受0?
谢谢这里是我的代码:
public function set_id($num){
$preg = "/^[0-9]{4}$/";
if(preg_match($preg, $num))
{$this->id = $num;}
else {echo "<b>ID</b> can not accept less then 4 digit number!";}
}
public function get_id(){
return $this->id;
}
}
$a = new Business();
$a->set_id(0012);
echo $a->get_id();
尝试使用:
$number = '49';
$formattedNumber = sprintf('%04d', $number);
echo $formattedNumber;
结果:
0049
因为php对象是双精度的并且'123'(String)等于123(int),所以除非使用verbumSapienti解决方案,否则我的字段始终会更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.