我试图用Javascript在Jira中验证字符串.我试图复制它在Jira中的验证方式.我猜我可以用正则表达式来做这件事,但我不知道怎么做.
用户可以输入"1d 6h 30m"格式的字符串,即1天6小时30分钟.我不需要几周的时间来编写我的用例.如果用户使用了无效字符(除"d"、"h"、"m"或""之外的任何字符),我想显示一个错误.此外,字符串必须用空格分隔持续时间,理想情况下,我希望强制用户按降序输入持续时间,这意味着"6h 1d"将无效,因为天应该先到.此外,用户不必输入所有信息,因此"30m"是有效的.
这是我的代码,用于获取似乎有效的天、小时和分钟.我只是需要验证部分的帮助.
let time = '12h 21d 30m'; //example
let times = time.split(' ');
let days = 0;
let hours = 0;
let min = 0;
for(let i = 0; i < times.length; i++) {
if (times[i].includes('d')){
days = times[i].split('d')[0];
}
if (times[i].includes('h')){
hours = times[i].split('h')[0];
}
if (times[i].includes('m')){
min = times[i].split('m')[0];
}
}
console.log(days);
console.log(hours);
console.log(min);