Ben*_*old 0 javascript regex asp.net
我需要一个正则表达式,它限制从0到24的小时输入,其中分数是.25的倍数.请记住必须满足以下条件:
我非常有信心可以收紧以下表达,但这是迄今为止的情况:
(^(([0-9])|(1[0-9])|(2[0-3]))(\.((0*)|(250*)|(50*)|(750*)))?$)|(^24(\.0*)?$)|(^\.((0+)|(250*)|(50*)|(750*))$)
Run Code Online (Sandbox Code Playgroud)
更新:正则表达式验证存在于客户端(javascript)和服务器(asp.net,c#)上.
Tho*_*rin 11
你绝对,积极地需要这样做作为正则表达式的原因是什么原因?转换为数字并进行一些基本检查会容易得多.
检查数字乘以4是否是自然数<= 96,完成.
从您的个人资料来看,您可能正在使用.NET.我假设您希望将此作为正则表达式,因为您正在使用它进行客户端验证.我会认真考虑使用带有客户端JavaScript的CustomValidator.
JavaScript的这些内容:
<script type="text/javascript">
function checkDuration(text)
{
var tmp = parseFloat(text) * 4;
return tmp >= 0 && tmp <= 96 && Math.ceil(tmp) == tmp;
}
</script>
Run Code Online (Sandbox Code Playgroud)
编辑:我在使用浮点数时略微担心舍入错误,但似乎可以解决所有可能的情况.
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |