- 二叉排序树(BST)
Smile灬凉城666
java算法开发语言
二叉排序树(BinarySearchTree,BST)是一种特殊的二叉树,它具有以下性质:对于树中的每个节点,其左子树中的所有节点的值都小于该节点的值。对于树中的每个节点,其右子树中的所有节点的值都大于该节点的值。左右子树也分别是二叉排序树。二叉排序树的主要用途是实现动态集合操作,如插入、删除和查找。1.二叉排序树的基本操作1.1查找在二叉排序树中查找一个值:如果当前节点为空,返回nullptr。
- 力扣206题——反转链表
の梦
leetcode链表算法蓝桥杯数据结构
#题目#代码既然要反转,那么头结点如果不为空最后会成为尾结点,所以我们把头结点的后继指向null;接着就是对头结点的下一个节点进行置换操作,大家可多思考一下代码
- React 自定义 hooks实现自动上报 页面浏览量|点击事件
一个00后前端开发
前端框架react.js
通过自定义hooks,来控制监听DOM元素,分清楚依赖关系exportconstLogContext=createContext({});exportconstuseLog=()=>{/*定义一些公共参数*/constmessage=useContext(LogContext);constlistenDOM=useRef(null);/*分清依赖关系*/constreportMessage=use
- 力扣hot100_链表(2)_python版本
Y1nhl
力扣pythonleetcode链表
142.环形链表II(中等)给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。简单说就是证明有环并且输出环的入口点classSolution(obj
- 13.二叉树所有路径
Vacant Seat
java数据结构算法b树
二叉树所有路径因为要从根节点到叶子节点,所以使用前序遍历(中左右)这道题目涉及到回溯问题,因为需要把路径记下来,需要回溯来回退一个路径再进入另一个路径先使用递归的方式,来做前序遍历。递归三部曲:递归函数的参数和返回值要传入根节点,记录每一条路径的path,和存放结果集的result,不需要返回值确定递归终止条件遇到叶子节点就返回,所以if(cur.left==null&&cur.right==nu
- LeetCode-142. 环形链表 II
德先生&赛先生
leetcode算法c++
1、题目描述:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例1
- LeetCode:142. 环形链表 II(python)
痴迷、淡然~
LeetCodeLeetCode142.环形链表IIpython
LeetCode:142.环形链表II(python)给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。说明:不允许修改给定的链表。示例1:输入:head=[3,2,0,-4],pos=1输出:tailconnectstonodeindex1解释:
- LeetCode每日精进:142.环形链表II
ll778811
leetcode链表算法开发语言c语言数据结构
题目链接:142.环形链表II题目描述:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情
- 小程序中如何固定表头和首列
编程迪
{{attrItem.title}}{{attrItem.title}}-->{{dataIndex}}.table{display:block;position:relative;overflow:scroll;width:100%;height:50vh;}.table__head{height:96rpx;white-space:nowrap;position:sticky;top:0rpx
- 无边框QWidget的拖动
Sleepless_斑马
QTqt
classLoginWidget:publicQWidget{Q_OBJECTpublic:explicitLoginWidget(QWidget*parent=nullptr);~LoginWidget()override;private:Ui::LoginWidget*ui;QPointdropPosition;boolleftPress;protected:boolevent(QEvent*
- 嵌入式编程——数据结构与linux编程
做自己'S Catanin
数据结构linuxc#
根据dict.txt文件中的内容,用户输入单词获得单词含义#include"public.h"intmain(void){structlist_head*parray=NULL;FILE*fp=NULL;char*nret=NULL;char*pword=NULL;char*pparaphrase=NULL;intnum=0;charstr[1024]={0};charword[256]={0};
- SqlServer存储过程Merge数据进行新增或者更新
Forest-8023
数据库存储过程sqlserver
use[database_name]gosetansi_nullsongosetquoted_identifierongocreateprocedurePROCEDURE_IMPORT_{upper(table_name)}asbeginbegintrybegintransaction;if((selectcount(1)from[temp_table_name])>0)beginmergeint
- PySide6 GUI 学习笔记——常用类及控件使用方法(常用类尺寸QSize)
Humbunklung
PySide6学习笔记学习笔记pythonpyqt
尺寸类之——QSizeQSize类通过整数形式定义一个二维对象的尺寸,包括宽width()和高height()。QSize官方文档方法概述def__init__()def__reduce__()def__repr__()defboundedTo()defexpandedTo()defgrownBy()defheight()defisEmpty()defisNull()defisValid()def
- POI按行读取word,并去掉属性标签内容:超链接
weixin_30535043
publicStringreadDoc(Filefile){StringBufferbuffer=newStringBuffer();InputStreaminput=null;WordExtractorextractor=null;String[]paragraphs=null;try{input=newFileInputStream(file);extractor=newWordExtract
- 用C/C++手搓链表:从青铜到王者的进阶之路
暮乘白帝过重山
c语言c++链表开发语言区块链算法数据结构
链表就像程序员的"俄罗斯套娃"——每个娃娃肚子里都藏着下一个娃娃的线索。今天我们将用纯手搓代码和灵魂比喻,带你彻底征服这个数据结构!一、链表的本质:程序员的"贪吃蛇"1.1核心结构解剖节点(Node)=贪吃蛇的关节数据域:当前关节吃的食物指针域:下一截蛇身的位置坐标头指针(Head)=蛇头GPS定位器尾节点(Tail)=蛇尾(指向NULL表示结束)1.2类型选择指南类型内存消耗适用场景经典案例单向
- Hive JOIN过滤条件位置玄学:ON vs WHERE的量子纠缠
数据大包哥
大数据#Hive#大厂SQL面试指南hivehadoop数据仓库
HiveJOIN过滤条件位置玄学:ONvsWHERE的量子纠缠作为数据工程师,HiveJOIN就像吃火锅选蘸料——放错位置味道全变!今天带你破解字节/阿里等大厂高频面试题:ON和WHERE后的过滤条件究竟有什么不同?一、核心差异对比表特性ON子句WHERE子句执行时机JOIN操作时JOIN完成后影响范围单表过滤(左右表独立)两表JOIN后的结果集NULL值处理保留未匹配的主表记录过滤掉所有不满足条
- 微信小程序中的canvas(2D)
mini..
微信小程序小程序
微信小程序中的组件提供了一个用于绘制图形的画布,支持2D绘图。以下是对微信小程序中2D组件的详细介绍,包括属性、方法、事件和示例代码。一、组件属性基本属性canvas-id:在自定义组件中使用时,指定组件的唯一标识符,用于创建绘图上下文。disable-scroll:是否禁用滚动,通过设置为true可以禁用画布的滚动事件。二、绘图上下文对象(CanvasContext)通过wx.createCan
- 使用DeepSeek建立一个智能聊天机器人0.1
yehaiwz
python机器人开发语言
我对代码进行进一步的完善,增加更多的节点连接及功能运用,并确保配置文件config.json的内容更加丰富和详细。以下是完善后的代码和config.json文件内容。完善后的代码importtkinterastkfromtkinterimportscrolledtext,filedialog,messageboximportrequestsimportosimportthreadingimport
- (pandas)常用版本和重要更新
Marst·Zhang
第三方库pandas
前言记录每次pandas库的重要更新,记录每次版本的变化内容.尽可能的记录函数的删改。每次从别人的项目中汲取经验时,难免会遇到不顺利的地方。为方便自己查阅,记录遇到的问题.目录Pandas库历史版本的主要更新和函数变化的示例Pandas库历史版本的主要更新和函数变化的示例Pandas0.23.0(2018年5月发布):引入了Nullable整数数据类型(pd.NA)。引入了新的字符串方法,如str
- MyBatis的if标签的基本使用
君子剑mango
#MyBatis框架mybatisjava开发语言
在MyBatis框架中,if标签用于在构建SQL语句时,根据参数条件判断的结果,动态地选择加入或不加where条件中。一常见使用在使用MyBatis处理查询逻辑的时候,常用的是判断一些参数是否为空,列举常用的几种情况展示1.1数据准备1.1.1创建表模型CREATETABLE`approval_info`(`id`BIGINTNOTNULLAUTO_INCREMENT,`info_name`VAR
- selenium 控制内嵌table滚动条的方法
qq_492448446
Web自动化selenium测试工具
selenium控制内嵌table滚动条的方法我们经常会遇到selenium无法捕获到对应元素的问题,其中有一个原因是由于页面中存在滚动条,而需要操作的元素需要滑动滚动条后才能捕获到。之前有使用过如下方式:document.getElementById('id').scrollTop=10000但是当出现需要操作内嵌table的滚动条时,这种方式就不可用了。正确的操作方式如下,遇到这种情况时,需要
- 代码随想录算法训练营第三天| 反转链表,设计链表,移除链表元素
坚持不懈的猫喵
算法链表数据结构
206.反转链表-力扣(LeetCode)structListNode*reverseList(structListNode*head){typedefstructListNodeListNode;ListNode*tmp;ListNode*cur=head;ListNode*pre=NULL;while(cur){tmp=cur->next;cur->next=pre;pre=cur;cur=t
- LeetCode Hot100刷题——二叉树的最大深度
圈圈编码
leetcode算法职场和发展
104.二叉树的最大深度给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例1:输入:root=[3,9,20,null,null,15,7]输出:3示例2:输入:root=[1,null,2]输出:2提示:树中节点的数量在[0,10^4]区间内。-100queue=newLinkedList<>();//queue用于存储待遍历的节点que
- SpringBoot3整合MyBatis-Plus
Mais10011
springbootmybatis
准备数据CREATETABLE`t_user`(idBIGINTNOTNULLCOMMENT'主键ID',nameVARCHAR(30)NULLDEFAULTNULLCOMMENT'姓名',ageINTNULLDEFAULTNULLCOMMENT'年龄',emailVARCHAR(50)NULLDEFAULTNULLCOMMENT'邮箱',PRIMARYKEY(id));INSERTINTO`t_
- 查询和XXX同学学习的课程完全相同的其他同学学号和姓名
魔法少女小严
学习
createtablescore(s_idvarchar(20),c_idvarchar(20),s_scoreint(3),primarykey(s_id,c_id));createtablestudent(s_idvarchar(20),s_namevarchar(20)notnull,primarykey(s_id));第一步:查询XXX同学选的所有课selectc_idfromscorew
- 【c#】object to string 转换的注意事项及string的空和null判断
鐵血柔情��
c#
c#objecttostring转换的注意事项及string的空和null判断一、objecttostring1、.ToString()2、System.Convert.ToString(str)3、?.null检查运算符二、string的null和empty判断一、objecttostring1、.ToString()使用.ToString()是非常简单方便的。但如果是null的话无法对null
- 作业。。。。。
zm
windows
顺序表按元素删除参数:删除元素,顺序表1.调用元素查找的函数4.根据下表删除delete_sub(list,sub);//删除元素voiddelete_element(intelement,Sqlist*list){if(NULL==list){printf("delete_elementerror:listisNULL\n");return;}intsub=search_sub_sqlist(e
- 利用子问题思路解决二叉树相关Oj题
Excuse_lighttime
算法数据结构java开发语言
目录检查两棵树是否相同:题目链接判断另⼀棵树的子树是否存在:题目链接翻转二叉树:题目链接判断⼀棵二叉树是否是平衡二叉树:题目链接判断对称二叉树:题目链接二叉树的层序遍历二叉树的分层遍历:题目链接判断一棵树是否为完全二叉树:检查两棵树是否相同:题目链接代码实现:publicbooleanisSameTree(TreeNodep,TreeNodeq){if(p==null&&q!=null||q==n
- 两种得到二叉树深度的递归方法
chenhehe11
跟着灵茶山学算法算法leetcode数据结构
两种得到二叉树深度的递归方法104.二叉树的最大深度题目分析代码1代码2104.二叉树的最大深度给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例1:输入:root=[3,9,20,null,null,15,7]输出:3示例2:输入:root=[1,null,2]输出:2提示:树中节点的数量在[0,104]区间内。-100<=Node.va
- java linkedlist 节点_JAVA学习-LinkedList详解
鲁小夫
javalinkedlist节点
1.定义实现List接口与Deque接口双向链表,实现了列表的所有操作,并且允许包括null值的所有元素,对于LinkedList定义我产生了如下疑问:1.Deque接口是什么,定义了一个怎样的规范?2.LinkedList是双向链表,其底层实现是怎样的,具体包含哪些操作?下文将围绕这两个问题进行,去探寻LinkedList内部的奥秘,以下源码是基于JDK1.7.0_792.结构2.1类结构Lin
- 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}$