javascript - 正则表达式将小数字段验证为小时和分钟格式
问题描述
我需要将企业应用程序上的小数字段验证为小时和分钟格式。
所以例如 7.30 是 7 小时 30 分钟
9.55 是 9 小时 55 分钟
10.80 .....这不应该被接受。
23.59 是最大值。
我尝试了示例代码。
function ValidateTotalHours() {
var totalhours = Xrm.Page.getAttribute("new_totalhours").getValue();
if (!/^([0-23]).([0-5][0-9])$/.test(totalhours)) {
Xrm.Utility.alertDialog("Total Hours Format is invalid");
}
}
在继续之前,我尝试使用https://regex101.com/进行验证,但似乎我的正则表达式不正确。
关于正确实施的任何想法。
解决方案
正[0-23]
则表达式中的:
/^([0-23]).([0-5][0-9])$/
实际上是在指定:
[0123]
你想要这样的东西:
/^(2[0-3]|[01]?[0-9])\.[0-5][0-9]$/
推荐阅读
- javascript - 使用节点 JS 向 MongoDB 添加数据,我收到此错误:“TypeError: Cannot read property 'username' of undefined”
- html - 我的按钮内的文本在多行中垂直而不是水平,我如何将它写在一行中?
- tensorflow-federated - TFF:将客户端拆分为训练和测试或将每个客户端数据集拆分为训练和测试之间的区别
- reactjs - 目前没有配置加载器来处理这个文件
- bash - 使用空格分隔的文件名准备字符串并跳过名称已存在于 bash
- python - tensorflow/keras 神经网络中的复杂输入/输出是可能的吗?
- android - 如何在向右或向左移动时使用 ItemTouchHelper 移动到新的 Activity 或 Fragment
- splunk - splunk Enterprise 中的带宽
- apache-plc4x - 写入String类型数据提示【PlcRuntimeException: 尚未实现】
- cassandra - 错误:解析块映射时;预期的
,但在 cassandra.yaml 文件中找到了 BlockMappingStart