求一个简单的正则表达式

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:36:41
要求:
1-不能为空
2-必须为正整数
3-取值范围在0-28

谢谢
2楼的基本符合 但是不能验证是否为空

飘渺世间天 - 总兵 十级 如果输入29怎么办(验证通过)?
————————————————————————
javascript的
试试吧:

function check(value)
{
var reg= /^(([01]?[0-9])|(2[0-8]))$/;
if (!reg.test(value))
{
alert("输入错误");
return false;
}
return true;
}

好久不用正则,漏洞太多了,再改:

use strict;

my $match = <STDIN> =~ /^[0-2]?((?=\d)[0-8]|[0-8])$/;
print $match ? 'match' : 'unmatch'

^[0-2]?((?=\d)[0-8]|[0-8])$是正则部分,可以验证空输入的,至少我用perl实验了没问题。

如果你试了不行的话,我想你需要把你用的语言告诉我。

\b(([1-2]?[0-8])|(9)|(19))\b

我这则不会通过 00, 01, 02 这种,如果你想通过这种

改成
\b(([0-2]?[0-8])|(9)|(19)|(09))\b

回答者:飘渺世间天 的好像19无法匹配.