求一正则表达式仅匹配0-23正整数的写法 立即给分

时间:2022-04-26 07:02:30
昨夜熬了一个通宵,今天上班脑子秀得很
/^[0-2]{0,1}[0-9]$/  0-29可以这样写

但0-23,还有0-59怎么也写不对

分不多,谢谢各位帮忙

10 个解决方案

#1


/20|21|22|23|[0-1]?\d/

/[0-5]?\d/

#2


/2[0-3]|[0-1]?\d/

/[0-5]?\d/

#3


/^2[0-3]|[0-1]?\d$/

/^[0-5]?\d$/


#4


要求仅匹配0-23和0-50这个范围内的数字,楼上两位验证后都不对啊

我这个例子验证:0-29就没问题,提示ture,否则就提示false

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="javascript">
<!--
function check(str)
{
    var reg = /^[0-2]{0,1}[0-9]$/;
    strID.innerHTML = "<font color=\"red\">" + reg.test(str) + "</font>";
}
//-->
</script>
</head>

<body>
<input type="text" name="textfield" onBlur="check(this.value);"><span id="strID"></span>
</body>
</html>

#5



0-50
/^[0-4]?\d|50$/


#6


jinjuduo朋友的0-59正确
但0-23还是不对

#7


/^(2[0-3]|[0-1]?\d)$/;

#8


为什么非用正则呢?直接转整形计算不好么?

parseInt(value)==value && value<=50 && value>0

#9


奇怪,加个括号就好了

#10


谢谢jinjuduo朋友
也谢谢wasuka(恋学生癖)的思路
结贴了

#1


/20|21|22|23|[0-1]?\d/

/[0-5]?\d/

#2


/2[0-3]|[0-1]?\d/

/[0-5]?\d/

#3


/^2[0-3]|[0-1]?\d$/

/^[0-5]?\d$/


#4


要求仅匹配0-23和0-50这个范围内的数字,楼上两位验证后都不对啊

我这个例子验证:0-29就没问题,提示ture,否则就提示false

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="javascript">
<!--
function check(str)
{
    var reg = /^[0-2]{0,1}[0-9]$/;
    strID.innerHTML = "<font color=\"red\">" + reg.test(str) + "</font>";
}
//-->
</script>
</head>

<body>
<input type="text" name="textfield" onBlur="check(this.value);"><span id="strID"></span>
</body>
</html>

#5



0-50
/^[0-4]?\d|50$/


#6


jinjuduo朋友的0-59正确
但0-23还是不对

#7


/^(2[0-3]|[0-1]?\d)$/;

#8


为什么非用正则呢?直接转整形计算不好么?

parseInt(value)==value && value<=50 && value>0

#9


奇怪,加个括号就好了

#10


谢谢jinjuduo朋友
也谢谢wasuka(恋学生癖)的思路
结贴了