regex - react js的日期输入字段中不应接受值'0'
问题描述
大家好,我正在做日期输入验证。所以我不想只在日月年字段中接受数字 0。
我的日期输入格式是dd mm yyyy
所有三个将单独的输入组件。
这是我尝试停止两个零的方法
// validation day
export function dayValidation(str) {
if(str.search(/^00/) !== -1){
return "0";
}
return extract(str, '^([0-2]?[0-9]|3[01]|10|20)$');
}
// validation month
export function monthValidation(str) {
if(str.search(/^00/) !== -1){
return "0";
}
return extract(str, '^([0-1]?[0-2]|0[1-9]|[0-9])$');
}
export function yearValidation(str) {
if(str.search(/^0/) !== -1){
return "";
}
return extract(str, '[0-9]+');
}
它的工作正常,不要输入两个 00 数字。但如果该值仅为 0,我想显示错误。
这是我尝试验证的内容:
if (Validator.isEmpty(data.applyStartYear)) {
errors.applyStartYear = APPLY_START_DATE;
}
if (Validator.isEmpty(data.applyEndYear)) {
errors.applyEndYear = APPLY_END_DATE;
}
if(!dateValidation(`${data.applyStartDay}-${data.applyStartMonth}-${data.applyStartYear}`, `${data.applyEndDay}-${data.applyEndMonth}-${data.applyEndYear}`) && !Validator.isEmpty(data.applyEndYear)){
errors.applyEndYear = DATE_MISMATCH;
}
那么如何做到这一点。提前致谢。
解决方案
推荐阅读
- uwp - 如何更改 UWP TabViewItem 角半径?
- laravel - laravel-echo-server 使用实时 redis 服务器
- javascript - Tampermonkey 中未定义的函数
- maven - 使用 Gradle Kotlin DSL 发布 Kotlin MPP 元数据
- angular - 在 HTML 模板中调用时,默认 TS/JS 数据类型的方法会触发检测更改吗?
- php - Laravel Cashier 在 heroku 上不发送 POST 请求正文
- amazon-web-services - 具有事件模式的 Terraform AWS Cloudwatch 规则不起作用
- excel - 使用 excel 公开服务 oData 或 Rest?
- git - 使用 git rev-list --oneline 时如何显示提交日期?
- python-3.x - 应用 lambda 函数迭代两列