当前位置: 首页 > news >正文

正则表达式,日期选择器时间限制,报错原因

目录

一、正则表达式

1、表达式含义

2、书写表达式

二、时间限制

1、原始日期选择器改造

2、禁止选择未来时间

3、从...到...两个日期选择器的时间限制

三、Uncaught (in promise) Error报错


一、正则表达式

1、表达式含义

(1)/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

验证电子邮件地址的格式:

  • /^/$/ 是正则表达式的起始和结束符号,表示匹配整个字符串
  • ([a-zA-Z0-9_.-])+ 匹配电子邮件地址的用户名部分,可以由字母、数字、下划线、点号和短横线组成,至少包含一个字符
  • @ 匹配电子邮件地址中的at符号
  • (([a-zA-Z0-9-])+\.)+ 匹配电子邮件地址的域名部分,可以由字母、数字和短横线组成,至少包含一个子域名,且每个子域名之间以点号分隔
  • ([a-zA-Z0-9]{2,4})+ 匹配电子邮件地址的顶级域名部分,可以由字母和数字组成,长度为2到4个字符

2、书写表达式

(1)6-10 位自然数

^[0-9]{6,10}$

表达式的含义:

  • 表示匹配字符串的开头
  • [0-9] 表示匹配数字(0-9)
  • {6,10} 表示前面的字符必须出现6-10次
  • $ 表示匹配字符串的结尾

(2)6-10位自然数或字母

^[0-9a-zA-Z]{6,10}$

表达式的含义:

  • ^ 表示匹配字符串的开头
  • [0-9a-zA-Z] 表示匹配数字(0-9)或字母(大小写不限)
  • {6,10} 表示前面的字符必须出现6-10次
  • $ 表示匹配字符串的结尾

(3)最多三位小数

^[0-9]+(.[0-9]{1,3})?$

表达式的含义:

  • ^ 表示匹配字符串的开头
  • [0-9]+ 表示匹配一个或多个数字
  • (.[0-9]{1,3})? 表示匹配一个小数点及其后面的1-3位数字,并且整个部分是可选的,可以出现0次或1次
  • $ 表示匹配字符串的结尾

可以匹配 1、1.2、1.23、1.234,但不匹配 1.2345。


二、时间限制

日期选择器改造,将使用element-plus组件库

官方文档如下:一个 Vue 3 UI 框架 | Element Plusicon-default.png?t=N7T8https://element-plus.org/zh-CN/

1、原始日期选择器改造

(1)整理出官方最原始的日期选择器

<template><div class="home"><div class="demo-date-picker"><div class="block"><span class="demonstration">Default</span><el-date-pickerv-model="value1"type="date"placeholder="Pick a day":size="size"/></div></div></div>
</template><script lang="ts" setup>
import { ref } from 'vue'const size = ref<'default' | 'large' | 'small'>('default')const value1 = ref('')
</script><style scoped>
.demo-date-picker {display: flex;width: 100%;padding: 0;flex-wrap: wrap;
}.demo-date-picker .block {padding: 30px 0;text-align: center;border-right: solid 1px var(--el-border-color);flex: 1;
}.demo-date-picker .block:last-child {border-right: none;
}.demo-date-picker .demonstration {display: block;color: var(--el-text-color-secondary);font-size: 14px;margin-bottom: 20px;
}
</style>

(2)切换语言

Element Plus 的默认语言为英语,改造成中文需要引入国际化配置

在main.ts文件中进行全局配置

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import App from './App.vue'
import router from './router'
import store from './store'createApp(App).use(store).use(router).use(ElementPlus,{locale: zhCn,
}).mount('#app')

2、禁止选择未来时间

<template><div class="home"><div class="demo-date-picker"><div class="block"><span class="demonstration">Picker with quick options</span><el-date-pickerv-model="value2"type="date"placeholder="Pick a day":disabled-date="disabledDate"/></div></div></div>
</template><script lang="ts" setup>
import { ref } from "vue";const value2 = ref("");const disabledDate = (time: Date) => {return time.getTime() > Date.now();
};
</script><style scoped>
.demo-date-picker {display: flex;width: 100%;padding: 0;flex-wrap: wrap;
}.demo-date-picker .block {padding: 30px 0;text-align: center;border-right: solid 1px var(--el-border-color);flex: 1;
}.demo-date-picker .block:last-child {border-right: none;
}.demo-date-picker .demonstration {display: block;color: var(--el-text-color-secondary);font-size: 14px;margin-bottom: 20px;
}
</style>

3、从...到...两个日期选择器的时间限制

<template><div class="home"><div class="demo-date-picker"><div class="block"><span class="demonstration">开始时间</span><el-date-pickerv-model="value1"type="date"placeholder="Pick a day":disabled-date="disabledDate1"/></div><div class="block"><span class="demonstration">结束时间</span><el-date-pickerv-model="value2"type="date"placeholder="Pick a day":disabled-date="disabledDate2"/></div></div></div>
</template><script lang="ts" setup>
import { ref } from "vue";
const value1 = ref("");
const value2 = ref("");const disabledDate1 = (time: Date) => {return time.getTime() > new Date(value2.value).getTime()
};
const disabledDate2 = (time: Date) => {return time.getTime() < new Date(value1.value).getTime()
};
</script><style scoped>
.demo-date-picker {display: flex;width: 100%;padding: 0;flex-wrap: wrap;
}.demo-date-picker .block {padding: 30px 0;text-align: center;border-right: solid 1px var(--el-border-color);flex: 1;
}.demo-date-picker .block:last-child {border-right: none;
}.demo-date-picker .demonstration {display: block;color: var(--el-text-color-secondary);font-size: 14px;margin-bottom: 20px;
}
</style>


三、Uncaught (in promise) Error报错

Uncaught (in promise) Error 的报错通常出现在使用 Promise 的异步操作中。下面是使用 Promise 的异步操作,一些可能出现报错的原因:

1、异步操作中的 Promise 对象没有被正确处理:当使用 Promise 进行异步操作时,应该通过调用 then 或 catch 方法来处理异步操作的结果

2、异步操作中的网络请求失败:当使用 Promise 进行网络请求时,如果请求失败或出现网络错误, Promise 对象的状态会变为 rejected,如果没有相应的 catch 语句来处理错误,就会出现 Uncaught (in promise) Error 的报错

相关文章:

正则表达式,日期选择器时间限制,报错原因

目录 一、正则表达式 1、表达式含义 2、书写表达式 二、时间限制 1、原始日期选择器改造 2、禁止选择未来时间 3、从...到...两个日期选择器的时间限制 三、Uncaught (in promise) Error报错 一、正则表达式 1、表达式含义 &#xff08;1&#xff09;/^([a-zA-Z0-9_.…...

YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别

💡本篇内容:YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv7 专属 论文理…...

django建站过程(1)

django建站过程&#xff08;1&#xff09; 使用pycharm创建过程运行项目创建数据库创建超级用户登录生成的后台&#xff1a;界面本地化 准备以django,bootstrap来做一个过程记录&#xff0c;文章主要阐述过程的细节。 使用pycharm创建过程 创建项目“schoolapps”&#xff0c;…...

使用 Typhoeus 和 Ruby 编写的爬虫程序

以下是一个使用 Typhoeus 和 Ruby 编写的爬虫程序&#xff0c;用于爬取 &#xff0c;同时使用了 jshk.com.cn/get_proxy 这段代码获取代理&#xff1a; #!/usr/bin/env rubyrequire typhoeus require jsondef get_proxyurl "https://www.duoip.cn/get_proxy"respon…...

Git 安装和基础命令、IDEA 基础操作

目录 总结命令&#xff1a;1、安装&#xff1a;1、安装2、配置环境变量&#xff1a; 2、Git操作&#xff1a;1、初始化&#xff1a;1、姓名邮箱&#xff1a;2、初始化仓库&#xff1a;3、工作区和暂存区分析 2、提交文件3、查看版本库状态4、安装小乌龟git不显示图标 5、查看提…...

做一个最新版的淘宝客返利程序源码有多难?

我们都知道淘宝客返利程序成为了很多人的创业和赚钱的工具。这种程序允许通过推广淘宝商品来获得佣金。然而&#xff0c;你知道构建这样一个淘宝客返利程序有多难吗&#xff1f;今天我们就从最基本的API说起&#xff0c;现在我将介绍构建一个最新版淘宝客返利程序所需的关键API…...

day5:Node.js 第三方库

day5:Node.js 第三方库 文章目录 day5:Node.js 第三方库使用 Express.js 构建 Web 应用安装 Express第一个 Express 框架实例第二个 Express 框架实例Node.js 连接 MySQL查询数据插入数据更新数据删除数据使用 Express.js 构建 Web 应用 Express框架是Node.js生态系统中的一…...

如何正确停止线程?为什么 volatile 标记位的停止方法是错误的?

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 今天我们主要学习如何正确停止一个线程&#xff1f;以及为什么用 volatile 标记位的停止方法是错误的&#xff1f; 首先&#xff0c;我们来复习如何启动一个线程&#xff0c;想要启动线程需要调用 Thread 类的 start…...

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)

最近在跑深度学习模型&#xff0c;发现Embedding随机性太强导致模型结果有出入&#xff0c;因此考虑固定初始随机向量&#xff0c;既提前训练好词/字向量&#xff0c;不多说上代码&#xff01;&#xff01; 1、利用gensim训练字向量&#xff08;词向量自行修改&#xff09; #…...

2.1.1BFS中的Flood Fill和最短路模型

1.池塘计数 农夫约翰有一片 N ∗ M N∗M N∗M 的矩形土地。 最近&#xff0c;由于降雨的原因&#xff0c;部分土地被水淹没了。 现在用一个字符矩阵来表示他的土地。 每个单元格内&#xff0c;如果包含雨水&#xff0c;则用”W”表示&#xff0c;如果不含雨水&#xff0c;…...

Mysql 新增更新、删除新增、忽略

当主键或唯一键冲突时&#xff0c;Mysql可以进行更新、删除新增、忽略插入等操作。 1.更新 当主键或唯一键冲突时&#xff0c;可以指定更新内容。 INSERT INTO table_name (column_name, column_name, column_name) VALUES (column_value, column_value,column_value) ON DUPL…...

Node-模块系统的用法

题记 node.js模块系统的用法&#xff0c;以下是具体操作过程和代码 为了让Node.js的文件可以相互调用&#xff0c;Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分&#xff0c;文件和模块是一一对应的。 一个 Node.js 文件就是一个模块&#xff0c;这…...

XSS攻击(1), 测试XSS漏洞, 获取cookie

XSS漏洞, 测试XSS漏洞, 获取cookie 一, 概念: XSS(Cross-Site Scripting), 跨站攻击脚本, XSS漏洞发生在前端, 依赖于浏览器的解析引擎, 让前端执行攻击代码. XSS其实也算注入类的攻击, XSS代码注入需要有JavaScript编程基础. 二, 目的: XSS&#xff08;跨站脚本&#xff0…...

linux任务优先级

这篇笔记记录了linux任务&#xff08;指线程而非进程&#xff09;优先级相关的概念&#xff0c;以及用户态可以用来操作这些优先级的系统调用。 基本概念 调度策略 linux内核中的调度器为任务定义了调度策略&#xff0c;也叫调度类&#xff0c;每个任务同一时刻都有唯一的调…...

JVM内存模型概述

这里主要分为五大块&#xff0c;分别是&#xff1a;本地方法栈、方法区、java堆、程序计数器和java栈。其中重点是方法区、java堆和java栈。 下面就把各个区域的性质总结一下&#xff1a;&#xff08;说明&#xff0c;下面的只是结论&#xff0c;没有详细的对各个内存块进行详细…...

【JavaEE】CAS -- 多线程篇(7)

CAS 1. 什么是 CAS2. CAS 伪代码3. CAS 是怎么实现的4. CAS的应用4.1 实现原子类4.2 实现自旋锁 5. CAS 的 ABA 问题 1. 什么是 CAS CAS: 全称Compare and swap&#xff0c;字面意思:”比较并交换“能够比较和交换 某个寄存器中的值和内存中的值, 看是否相等, 如果相等, 则把另…...

18-spring 事务

文章目录 1. xml和注解配置方式的对象2.spring事务传播特性3. 注解事务的初始化流程4. 创建事务信息流程图5. 事务回滚流程图 1. xml和注解配置方式的对象 2.spring事务传播特性 事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务&#xff0c;就新建一个事务&#xf…...

Qt窗体设计的布局

本文介绍Qt窗体的布局。 Qt窗体的布局分为手动布局和自动布局&#xff0c;手动布局即靠手工排布各控件的位置。而自动布局则是根据选择的布局类型自动按此类型排布各控件的位置&#xff0c;使用起来比较方便&#xff0c;本文主要介绍Qt的自动布局。 1.垂直布局 垂直布局就是…...

分布式锁 - 理论篇

一、为什么需要分布式锁 二、分布式锁实现 1.分布式锁演进 - 基本原理 我们可以同时去一个地方“占坑”&#xff0c;如果占到&#xff0c;就执行逻辑。否则就必须等待&#xff0c;直到释放锁。“占坑”可以去redis&#xff0c;可以去数据库&#xff0c;可以去任何大家都能访…...

复杂的菱形继承及菱形虚拟继承(详解)

复杂的菱形继承及菱形虚拟继承 复杂的菱形继承及菱形虚拟继承虚拟继承解决数据冗余和二义性的原理笔试面试题 复杂的菱形继承及菱形虚拟继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用&#xff0c;前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率&#xff0c;还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库&#xff08;Naive UI、Element …...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...

FTXUI::Dom 模块

DOM 模块定义了分层的 FTXUI::Element 树&#xff0c;可用于构建复杂的终端界面&#xff0c;支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...