- 13. 说说 MyBatis 的缓存机制?
这孩子叫逆
Mybatis笔记mybatisjavaspring
MyBatis提供了一级缓存和二级缓存两种缓存机制,用于提高应用程序的性能,减少数据库的访问次数。缓存机制是MyBatis的一个重要特性,通过缓存可以在一定程度上减少对数据库的访问,从而提高查询性能。1.一级缓存(LocalCache)作用范围:一级缓存是MyBatis默认开启的缓存机制,作用于SqlSession级别。特点:生命周期:一级缓存的生命周期与SqlSession相同。在同一个SqlS
- .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
鱼是一只鱼啊
Vue后端.netcore图片上传vue3el-upload
实现目标。点击图片上传头像效果图前端部分图片上传关键代码更换头像上传js部分import{ref,reactive,onMounted}from"vue";import{uploadAvatar}from"../../api/auth";import{ElMessage}from"element-plus";exportdefault{setup(){constfit=ref("cover");c
- C++——智能指针
很楠不爱
c++开发语言
前言:哈喽小伙伴们,今天我们继续来分享C++的一个全新知识——智能指针。目录一.何为智能指针RAII二.智能指针的种类三.内存泄漏结语一.何为智能指针RAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保
- static 变量和 static 函数各有什么特点?
经常发呆的柴犬
java开发语言
static关键字在C、C++等编程语言中用于指定变量和函数的存储类型和可见性,其特点如下:static变量作用域:局部静态变量:在函数内部声明,作用域限制在该函数内,但其生命周期贯穿程序整个运行过程。它只在第一次执行时初始化一次,后续对该变量的修改会保留在函数调用之间。全局静态变量:在函数外部声明,作用域限制在定义它的文件内,不能被其他文件访问。生命周期:全程生命周期。即使在函数执行完成后,局部
- vue3知识总结
软件技术NINI
vue笔记vue.js前端javascript
Vue3是Vue.js的最新版本,相较于Vue2,它在性能、API设计、类型支持等多个方面都有显著的改进和创新。以下是对Vue3知识的总结:一、性能优化响应式系统升级:Vue3使用Proxy替代了Vue2中的Object.defineProperty,实现了对对象变化的更广泛监测,包括对象的添加和删除,以及数组的长度和索引变化。这使得Vue3的响应式系统更加高效和准确。虚拟DOM优化:Vue3优化
- 【Uniapp】前端面试题
菜鸟una
前端八股文面试题前端uni-appjavascript
Uniapp部分文章目录Uniapp部分1.Uniapp的页面生命周期和Vue的生命周期有何区别?1)Vue的生命周期2)Uniapp的页面生命周期3)区别2.Uniapp的rpx转换px的公式?3.Uniapp的tabbar自定义,怎么实现突起home标?1)配置自定义tabBar2)创建自定义tabBar组件3)突出显示“home”标4.Uniapp的tabbar自定义,怎么实现隐藏原生tab
- sqlalchemy session.remove
youhebuke225
sqlAlchemysqlalchemy
sqlalchemy.session.remove()是一个用于管理SQLAlchemy会话生命周期的方法。它并不是用来删除数据库中的记录,而是用来关闭并删除当前的会话对象。当你的应用程序不再需要使用某个会话时,可以调用remove方法来清理资源。下面是一个简单的示例,展示了如何创建一个会话并在不再需要时调用remove方法来关闭会话:fromsqlalchemyimportcreate_engi
- HTML 进阶: Web Components 原生组件技术
超悠閒
HTML&CSS前端htmljavascriptwebcomponents组件化
HTML进阶:WebComponents原生组件技术文章目录HTML进阶:WebComponents原生组件技术WebComponents概念&技术核心1.CustomElements自定义标签1.1注册WebComponent1.2生命周期钩子2.ShadowDOM3.Template模版&Slot插槽3.1Template模版的作用3.2Slot插槽的作用小结其他资源参考连接完整代码示例Web
- Java并发编程:线程生命周期
乐只乐之
Java并发编程java职场和发展后端
Java并发编程专栏文章收录于Java并发编程专栏线程生命周期 线程是Java并发编程的核心概念,理解线程生命周期对于编写高效的并发程序至关重要。本文将详细介绍Java线程的六种状态以及状态之间的转换关系,帮助读者更好地理解线程的行为。 在Java中JVM将线程按照生命周期划分为了四大种类:运行、等待、阻塞和结束,其中运行分为就绪(READY)和运行中中(RUNNING),阻塞分为等待(WAI
- Vue2组件间通信的14种方式详解
SqCheese
vue.jsjavascriptecmascript
(本篇以Vue2为主,Vue3在写啦)开始(引用一张举例图,全文依据下图关系进行举例说明)A组件==1.props/$emit//父向子传值importaaafrom'./aaa.vue'{{msg}}---------------------------------//子向父组件传值send(val){val为接收的参}改变字符串change(){this.$emit('send','我是参数'
- Android混淆(Proguard)详解
JuliusL
目录:1、混淆的作用及好处2、混淆的原理3、混淆的具体使用---3.1、混淆的基本语法---3.2、去除日志信息4、更详细的语法及demo1、混淆的作用及好处混淆属于整个应用程序开发生命周期偏后期阶段的技术了,所以要考虑应用的安全性及性能的问题,混淆就是为了这种需求产生的一种技术,简单说,混淆就是将关键字和关键类名,修改为无意义的字符以起到迷惑试图反编译去查看源码的人。在一定程度上能过滤掉起码95
- vue3+tesseract 图片文字提取
妙明元心
javascriptvue.jsecmascript
github:https://github.com/naptha/tesseract.js可实现多语言识别,中英文混合识别demo如下:importTesseractfrom"tesseract.js"//方式1:Tesseract.recognize('http://localhost:5173/vue.jpg','eng+chi_sim',).then((d)=>{console.log(d.
- vue3 watch监听响应式数组失效问题
妙明元心
前端javascriptvue.js
constpageData=reactive({checkedNodeList:[]})constcolspanDisabled=ref(false);watch(()=>{returnpageData.checkedNodeList},(newValue,oldValue)=>{if(newValue.length>0){colspanDisabled.value=true;}else{cols
- 观测线程状态-java
轻率的保罗
多线程-Javajava多线程线程状态
观测线程状态线程状态有的书籍叫线程生命周期。通过代码演示,观测线程状态:创建线程myThread用到了lambda表达式,详细了解点击这里:传送门。//观察线程的状态publicclassTestState{publicstaticvoidmain(String[]args)throwsInterruptedException{ThreadmyThread=newThread(()->{//创建线
- Java 如何获取线程状态呢?
qq_25073223
多线程javajava
下文笔者讲述Java中获取线程状态的方法分享,如下所示:java线程状态的简介Java中的线程整个生命周期中分为5种状态:1.新建状态(New):新建的线程都为此状态2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法该状态的线程在"可运行线程池"中,是可运行,一旦获得CPU权限,则立即运行3.运行状态(Running):已经取得CPU权限,并执行代码4.阻塞
- vue3 el-menu 菜单Maximum recursive updates exceeded 报错
supming1
vue.js
vue3用el-menu实现管理后台左侧菜单,报Uncaught(inpromise)Maximumrecursiveupdatesexceededincomponent.Thismeansyouhaveareactiveeffectthatismutatingitsowndependenciesandthusrecursivelytriggeringitself.Possiblesourcesi
- 浅谈Docker引擎
秦偏执
docker引擎
在Docker首次发布的时候,Docker引擎由两个核心构成,即:LXC和Dockerdaemon。由LXC来基于Linux内核的容器虚拟化技术来提供像NameSpace,Cgruop等基础工具的操作技术;由Daemon来统一负责镜像的管理,容器生命周期的管理,认证等工作。这样做也带来了很多的缺点,首先:LXC是基于Linux的,这对于一个立志与跨平台的项目来说本身就是一个瓶颈;其次,使用一个外部
- 【Docker深入浅出】Docker引擎架构介绍
roman_日积跬步-终至千里
Dockerdocker架构容器
文章目录一.docker引擎介绍1.Dockerdaemon:实现DockerAPI,通过API管理容器2.containerd:负责容器的生命周期3.runc:用于创建和启动容器二.启动容器的过程1.启动过程2.dockerdaemon的维护不会影响到运行中的容器3.shim:让容器独立于dockerdaemon一.docker引擎介绍docker基于OCI的开放标准,引擎采用模块化设计。OCI
- OpenHarmony 5.0 纯血鸿蒙系统
ejinxian
harmonyos华为
OpenHarmony-v5.0-Beta1版本已于2024-06-20发布。OpenHarmony5.0Beta1版本标准系统能力持续完善,ArkUI完善了组件通过CAPI调用的能力;应用框架细化了生命周期管理能力,完善了应用拉起、跳转的能力;分布式软总线连接能力和规格进一步增强;媒体完善了框架能力、视频编解码能力、音视频的应用能力,媒体库丰富了使用场景,提供更好的使用体验。OpenHarmon
- Django5+Vue3:OA系统前后端分离项目实战-后端登录功能实现(7)
Fender的web学习路程
Django5+Vue3pythondjangovueweb
Django5+Vue3系列文章前言本节开始,全文仅对会员开放。若点赞和收藏数量超过100,全文将免费开放。此项目采用Django框架的5.0.7版本进行开发。Django5.0支持的Python版本为3.10、3.11和3.12。OA系统系列文章将持续更新,直至项目的Docker部署阶段。专栏链接:~快捷传送门:留个赞再走呗!~个人博客:~所有文章尽在简客免费阅读~文章目录目录Django5+V
- React(脚手架)——create-react-app撸api(七)生命周期
感觉不错哦
也快速过一下importReact,{Component}from'react'importaxiosfrom'axios'classNewextendsComponent{constructor(props){console.log('01构造函数')super(props);this.state={msg:''};}componentWillMount(){console.log('02组件将
- Android Fragment 学习备忘
Arms206
Android学习android学习
1.fragment的动态添加与管理,fragment生命周期在后面小节:https://www.bilibili.com/video/BV1Ng411K7YP/?p=37&share_source=copy_web&vd_source=982a7a7c05972157e8972c41b546f9e4https://www.bilibili.com/video/BV1Ng411K7YP/?p=37
- 微信小程序-及反向解包
花儿开富贵花
微信小程序小程序
1、分享朋友、朋友圈/***生命周期函数--监听页面加载*/onLoad(options){wx.showShareMenu({withShareTicket:true,menus:['shareAppMessage','shareTimeline'],})},/***用户点击右上角分享*/onShareAppMessage(){return{title:'title',imageUrl:'../
- vue3使用simple-mind-map,分分钟开发思维导图
码农九零
思维导图插件vue3vue.js
这几天又来了新需求,老板想在系统里一眼可以看到所有部门的相关信息,并且可以编辑,分配任务。所以需要实现一个可编辑的思维导图页面。思维导图?感觉很复杂的样子,这种很牛p的东西应该不是我三两天就能手写搞定的,于是我github转了一圈,果然不出我所料,对比了几个插件以后我是先选择了vue3-mindmap简单易用。既然好用那就直接npminstall到项目里使用就完了,可是不知道是我使用的方式方法不对
- k8s部署
xml222z
技术
kubelet组件简介kubernetes是一个分布式的集群管理系统,在每个节点(node)上都要运行一个worker对容器进行生命周期的管理,这个worker程序就是kubeletkubelet的主要功能就是定时从某个地方获取节点上pod/container的期望状态(运行什么容器、运行的副本数量、网络或者存储如何配置等等),并调用对应的容器平台接口达到这个状态。kubelet组件特性定时汇报当
- Containerd初体验
他@
docker
一、Containerd概述1:什么是ContainerdContainerd(ContainerDaemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由Docker开发团队创建的,并在后来成为一个独立的项目,被纳入了cloudNativeComputingFoundation(云原生计算基金会CNCF)的孵化项目中。以下是containerd的主要特点和
- java版本ERP管理系统源码 Spring Cloud alibaba Spring Boot MybatisPlus Redis VUE3 ElementUI 微服务
m0_66404702
javaspringbootredisERP管理系统源码
在当今数字化浪潮的推动下,企业对于高效、稳定且易于扩展的管理系统需求日益增长。为了满足这一需求,我们精心打造了一款基于Java技术的鸿鹄ERP(EnterpriseResourcePlanning)管理系统。该系统充分利用了SpringCloudAlibaba、SpringBoot、MybatisPlus、Redis等先进技术栈,并结合前端框架VUE3和ElementUI,构建了一个功能丰富、性能
- vue3+ant design vue实现表格导出(后端返回文件流类型导出)
炒毛豆
vue.js前端javascript
1、之前的博客介绍了,依据页面展示的table表格数据为基础展示表格导出,今天介绍下后端返回文件流来实现表格导出。导出import{ExportTheEmployeesTab}from'@/api/import';//导出import{downExcelUrl}from'@/utils/downloadFile';constsearchRef=ref();constexportData1=()=>
- DataV的安装与使用(Vue3版本)
炒毛豆
vue.js前端
1、DataV(vue3)地址:DataVVue3+TS+Vite版|DataV-Vue32、使用npminstall@kjgl77/datav-vue3安装3、全局引入。4、此时就可以按需使用了~
- Vue3+vite打包配置及部分打包优化~
炒毛豆
vue.js前端
这里介绍的是vite项目的打包配置,若想了解webpack打包配置可看我的其他博客。(下面来介绍下vite打包配置的步骤)1、步骤一:配置base。(为什么需要配置base?这里配置base主要是修改根路径,一般我们在开发环境中引用静态资源可能使用的是绝对路径,但是一旦打包部署到服务器上后可能会报404,无法正确的获取的资源。)//在vite.config.ts中import{defineConf
- java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
- Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
- 设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
- 读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
- js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
- erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
- JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
- POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
- 工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
- android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
- Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
- eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
- 【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
- Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
- bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
- 读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
- 常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
- 搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
- oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
- JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
- C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
- vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
- 14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
- 一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
- Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
- 第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
- Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$