RegEx来验证工作日志字段模式(以获取用户在任务上工作的时间)
RegEx to validate worklog field pattern (to get how much time user worked on the task)
我必须构建一个带有输入文本字段的HTML表单来保存用户的工作日志小时数。用户可以在其中输入值,例如:
1w 2d 4h 6m 5s
Where,
w -> week
d -> day
h -> hour
m -> minute
5 -> second
用户也可以输入任何人,也可以输入多个(每个用空格分隔)的组合。
在服务器端,如果输入正确,我可以解析数据,找到任何输入的工作日志持续时间。但如果它是错误的,我想提供客户端验证。。。
您可以使用此正则表达式验证您的空格分隔输入:
/^(?:'d+[wdhms](?: +|$))+$/gmi
RegEx演示
它匹配一个或多个以数字开头、后跟任意字母[wdhms]
的文本集。
您可以从这样一个简单的正则表达式开始:
'd+w 'd+d 'd+h 'd+m 'd+s
其中''d+表示:1或N位
如果输入与此正则表达式不匹配,则取消剪切是错误的输入。
但9999w 9999d 999999 h 456489798m 154689789s将是一个很好的输入。
你需要更加明确你的需求,并展示你已经尝试过的东西。
此正则表达式将允许任何值为可选值,并接受它们之间的空格:
^('d+w)?('s?'d+d)?('s?'d+h)?('s?'d+m)?('s?'d+s)?$
如果您需要强制值之间存在空格,则除了前一个正则表达式之外,还需要检查此正则表达式:
^'d+[wdhms]('s'd+[wdhms])*$
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 在基于 SQS 的工作人员上设置将来的任务
- 如何使单选按钮工作两个任务
- 节点群集未将任务分派给另一个可用的工作线程
- 咕噜,任务单独工作,但不分组工作
- Gulp+Browserify任务不工作(没有输出)
- Gulp任务不同步工作
- 约曼发电机角度构建任务工作不正常
- Javascript -一个函数中的多个任务无法工作
- Gulp任务没有完成,但工作正常
- 使用angular-google-maps指令在“grunt服务”期间工作.但在默认的grunt任务期间不会
- RegEx来验证工作日志字段模式(以获取用户在任务上工作的时间)
- 为什么我不做我的grunt任务工作- emailBuilder