Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex将十进制字段验证为小时和分钟格式_Javascript_Regex - Fatal编程技术网

Javascript Regex将十进制字段验证为小时和分钟格式

Javascript Regex将十进制字段验证为小时和分钟格式,javascript,regex,Javascript,Regex,我需要将企业应用程序上的十进制字段验证为小时和分钟格式 例如,7.30是7小时30分钟 9点55分是9小时55分 10.80……这一点不应被接受 23.59是最大值 我尝试了示例代码 函数ValidateTotalHours(){ var totalhours=Xrm.Page.getAttribute(“new_totalhours”).getValue(); 如果(!/^([0-23])([0-5][0-9])$/。测试(总小时)){ Xrm.Utility.alertDialog(“总小

我需要将企业应用程序上的十进制字段验证为小时和分钟格式

例如,7.30是7小时30分钟

9点55分是9小时55分

10.80……这一点不应被接受

23.59是最大值

我尝试了示例代码

函数ValidateTotalHours(){
var totalhours=Xrm.Page.getAttribute(“new_totalhours”).getValue();
如果(!/^([0-23])([0-5][0-9])$/。测试(总小时)){
Xrm.Utility.alertDialog(“总小时数格式无效”);
}

}
正则表达式中的
[0-23]

/^([0-23]).([0-5][0-9])$/
实际上是指定:

[0123]
你想要这样的东西:

/^(2[0-3]|[01]?[0-9])\.[0-5][0-9]$/

您的模式不正确:

  • [0-23]
    等于
    [0123]
  • 需要转义<代码>\.否则它将匹配除换行符以外的任何字符
您需要的是:
^([0-1]?[0-9]| 2[0-3])\([0-5][0-9])$

const模式=/^([0-1]?[0-9]| 2[0-3])\([0-5][0-9])$/;
常数时间=['24.00','23.60','22.59','04.05','4.05','23.02','15.25','24.59'];
times.forEach(时间=>{
log(`${time}:${pattern.test(time)}`);

});非常感谢,不适用于正则表达式…但是否可以在上午8:20指定类似字符串的格式??所以正则表达式可能是上午8点20分或下午8点20分。。我试过这个^([0-1]?[0-1]| 1[0-1]):([0-5][0-9])([AM]|[PM])$否则答案是正确的方括号
[]
没有做你认为他们做的事。如果你想要一个可选的AM/PM,你可以做一些类似
([AP]M)?
谢谢Yimin,我确实需要看看Regex,但我更像是一个Dynamics CRM开发人员,我如何才能获得字符串字段的完整Regex验证。上午8:30.所以上午8:30或下午8:30所以第一个字母应该是1-11代表时间,然后是:下一个是1-59分钟它是01-59因为它必须有两个数字,而不是一个,然后在你有上午或下午之后有一个空格我知道这是错误的^([0-1]?[0-1]| 1[0-1]):([0-5][0-9])([AM]|[PM])$。当做