js正则表达式语法

1.匹配特定数字:

^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)

2.匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

3.特定业务匹配

验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正确格式为:“01”“09”和“1”“31”。

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

4.输入验证匹配:

只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,

5.javascript正则表达式检验:

//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}

//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}

//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

正则表达式速查表

字符

描述

\

将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。

^

匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

$

匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

*

匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。

+

匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

?

匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。

{n}

n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。

{n,}

n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。

{n,m}

m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。

?

当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。

.

匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.|\n)”的模式。

(pattern)

匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。

(?:pattern)

匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。

(?=pattern)

正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

(?!pattern)

正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

(?<=pattern)

反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。

(?<!pattern)

反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。

x|y

匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。

[xyz]

字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。

[^xyz]

负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。

[a-z]

字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。

[^a-z]

负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。

\b

匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。

\B

匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。

\cx

匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。

\d

匹配一个数字字符。等价于[0-9]。

\D

匹配一个非数字字符。等价于[^0-9]。

\f

匹配一个换页符。等价于\x0c和\cL。

\n

匹配一个换行符。等价于\x0a和\cJ。

\r

匹配一个回车符。等价于\x0d和\cM。

\s

匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S

匹配任何非空白字符。等价于[^ \f\n\r\t\v]。

\t

匹配一个制表符。等价于\x09和\cI。

\v

匹配一个垂直制表符。等价于\x0b和\cK。

\w

匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。

\W

匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

\xn

匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。“\x041”则等价于“\x04&1”。正则表达式中可以使用ASCII编码。.

\num

匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1”匹配两个连续的相同字符。

\n

标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。

\nm

标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。

\nml

如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。

\un

匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。

常用正则表达式

用户名

/^[a-z0-9_-]{3,16}$/

密码

/^[a-z0-9_-]{6,18}$/

十六进制值

/^#?([a-f0-9]{6}|[a-f0-9]{3})$/

电子邮箱

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/

URL

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

IP 地址

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

HTML 标签

/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/

删除代码\\注释

(?<!http:|\S)//.*$

Unicode编码中的汉字范围

/^[\u2E80-\u9FFF]+$/

本文转载于网络 如有侵权请联系删除

相关文章

  • Web性能优化之Worker线程(下)

    大家好,我是柒八九。前天在Web性能优化之Worker线程(上)中针对Worker中的专用工作线程DedicatedWorker做了简单介绍和描述了如何配合webpack在项目中使用。今天,我们就着重对服务工作线程ServiceWorker进行介绍。由于,在实际项目中,还未做实践,所以有些东西更偏向于概念和API的描述。但是,我感觉针对「服务工作线程」在项目优化方面还是有很大的可探索的空间的。那我们就闲话少叙,开车走起。由于该篇是介绍性文章,难免有一些比较生硬的概念。为了减轻大家的阅读负担,我用⭐️来标注,推荐阅读的篇幅。(5⭐️最高)文章概要服务工作线程ServiceWorker基础概念⭐️⭐️⭐️线程缓存⭐️⭐️⭐️⭐️线程客户端生命周期⭐️⭐️⭐️控制反转与线程持久化updateViaCache管理服务文件缓存⭐️⭐️⭐️线程消息⭐️⭐️⭐️拦截fetch事件⭐️⭐️⭐️⭐️⭐️1.服务工作线程ServiceWorker服务工作线程ServiceWorker是一种类似浏览器中「代理服务器」的线程,可以「拦截外出请求」和「缓存响应」。这可以让网页在「没有网络连接」的情况下正常使用,

  • 史上最全!234个财务数据分析数据指标归纳总结

    这是一篇值得收藏分享的文章。对于不同的行业,不同生命周期的企业而言,所谓的财务指标标准值仅供参考,请勿生搬硬抄。对于一个企业的管理,财务管理是非常重要的一环,不可或缺,公司越大,财务管理的重要性越大。在财务管理业务中,财务分析是基于公司财务数据的剖析,发现问题,提出相应的解决方案。而构成财务分析报表的基础就是财务数据指标体系。所以,财务分析非常重要,如果能够做出一份出色的财务分析报告,一定会加分不少。变现能力比率1流动比率=流动资产合计/流动负债合计标准值:2.0。意义:体现企业的偿还短期债务的能力。流动资产越多,短期债务越少,则流动比率越大,企业的短期偿债能力越强。分析提示:低于正常值,企业的短期偿债风险较大。一般情况下,营业周期、流动资产中的应收账款数额和存货的周转速度是影响流动比率的主要因素。2速动比率=(流动资产合计-存货)/流动负债合计保守速动比率=(货币资金+短期投资+应收票据+应收账款净额)/流动负债标准值:1/0.8意义:比流动比率更能体现企业的偿还短期债务的能力。因爲流动资产中,尚包括变现速度较慢且可能已贬值的存货,因此将流动资产扣除存货再与流动负债对比,以衡量企业的

  • 单片机补充案例--速度反馈控制LED亮度

    说明:使用中断测速,速度快LED亮,速度慢LED暗。设备:码盘接口使用外部中断和定时器中断,实现里程计测速,从S到dS(V)的过程。结合高等数学和离散时间系统,理解机器人车轮转速系统的积分和导数等概念。程序:#include<8052.h> #defineLSAP1_5 #defineLSBP1_6 #defineLSCP1_7 #defineLedP0 unsignedcharspeed=0; unsignedcharcnt=0; chara=0; voidEXint_Init(void); voidDelayms(unsignedint); voidEXINT0()__interrupt0; voidTimer0()__interrupt1; voidmain() { EXint_Init(); LSA=0; LSB=0; LSC=0; while(1) { ; } } voidEXint_Init() { IT0=1; IT1=0; // IPH=0x40; PX1=1; EA=1; EX0=1

  • 机器学习入门:硬核拆解GBDT

    本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDTBoosting到GradientBoosting Boosting是集成学习的一种基分类器(弱分类器)生成方式,核心思想是通过迭代生成了一系列的学习器,给误差率低的学习器高权重,给误差率高的学习器低权重,结合弱学习器和对应的权重,生成强学习器。前文讲过的AdaBoost就是典型的Boosting算法Boosting算法要涉及到两个部分,加法模型和前向分步算法。加法模型就是说强分类器由一系列弱分类器线性相加而成。一般组合形式如下:其中,就是一个个的弱分类器,是弱分类器学习到的最优参数,β就是弱学习在强分类器中所占比重,P是所有α和β的组合。这些弱分类器线性相加组成强分类器。前向分步就是说在训练过程中,下一轮迭代产生的分类器是在上一轮的基础上训练得来的。也就是可以写成这样的形式:GradientBoostingBoosting算法(以AdaBoost为代表)用错分数据点来识别问题,通过调整错分数据点的权重来改进模型。GradientBoosting通过负梯度来识别问题,通过计算负梯度来改进模型。Gradi

  • python3 100例 一码人学习笔

    不逼逼,撂干货题目1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。foriinrange(1,5): forjinrange(1,5): forkinrange(1,5): if(i!=k)and(i!=j)and(j!=k): print(i,j,k)复制题目2:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?i=int(input('净利润:')) arr=[1000000,600000,400000,200000,100000,0] rat=[0.0

  • MySQL中数值类型中smallint、mediumint等区别是什么

    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型数值类型中又可以分为整型、浮点型,或者可以说为严格数值数据类型以及近似数值数据类型分别为tinyint(m)、smallint(m)、mediumint(m)、int(m)、bigint(m)、float(m,d)、double(m,d)、decimal(m,d)字节1bytes=8bit,1个字节最多可以代表的数据长度是2的8次方11111111,在计算机中也就是-128到12765535在开发中遇到了一个存进程id的字段,设置了一个smallintunsigned类型,结果出现了所有进程id都为65535这个值有点特殊,端口的最大值也为65535计算机是按照二进制储存数据的,一般用unsignedint这种数据类型来储存正整数 在计算机中,每个整数都是用16位2进制数来表示的,所以最大的数就是16个1,也就是1111111111111111 把二进制数1111111111111111转化位十进制数就是65535区别存储范围不同,分别为smallint说到了65535,那就先说一下smallint2个字节,

  • 中文NLP笔记:8. 基于CNN的推荐系统

    图片发自简书App推荐系统 推荐系统 用途 对用户而言:可以找到感兴趣的东西,发现新鲜的事物。 对商家而言:可以提供个性化服务,提高信任度和粘性,增加营收。 主要有两类 基于用户的推荐系统(UserCF)  给用户推荐那些和他有共同兴趣爱好的用户喜欢的商品 基于物品的推荐系统(ItemCF)  给用户推荐那些和他之前喜欢的商品类似的商品CNN 常用于图像识别问题,效果不错 CNN如何应用到NLP中 矩阵的每一个行向量代表一个Token 如果一段文字包含有n个词,每个词有m维的词向量,那么可以得到一个n*m的词向量矩阵 在任务过程中,使得过滤器宽度和矩阵宽度保持一致整行滑动。基于CNN的电影推荐系统 1.定义用户嵌入矩阵 将UserID、MovieID、性别、年龄、职业特征转成数字类型 网络的第一层就使用嵌入层,维度(N,32)和(N,16) 然后进行全连接层,维度变成(N,128) 再进行全连接层,维度变成(N,200) 3.定义电影ID嵌入矩阵 输入电影ID和电影类型  一个电影可以属于多个类别,电影类型从嵌入矩阵索引出来之后是一个(N,32)的矩阵,再经过矩阵求和,变成(1,32)

  • 分库分表后如何部署上线?

    引言我们先来讲一个段子面试官:“有并发的经验没?” 应聘者:“有一点。” 面试官:“那你们为了处理并发,做了哪些优化?” 应聘者:“前后端分离啊,限流啊,分库分表啊。。” 面试官:"谈谈分库分表吧?" 应聘者:“bala。bala。bala。。” 面试官心理活动:这个仁兄讲的怎么这么像网上的博客抄的,容我再问问。 面试官:“你们分库分表后,如何部署上线的?” 应聘者:“这!!!!!!”不要惊讶,写这篇文章前,我特意去网上看了下分库分表的文章,很神奇的是,都在讲怎么进行分库分表,却不说分完以后,怎么部署上线的。这样在面试的时候就比较尴尬了。你们自己摸着良心想一下,如果你真的做过分库分表,你会不知道如何部署的么?因此我们来学习一下如何部署吧。ps:我发现一个很神奇的现象。因为很多公司用的技术比较low,那么一些求职者为了提高自己的竞争力,就会将一些高大上的技术写进自己的low项目中。然后呢,他出去面试害怕碰到从这个公司出来的人,毕竟从这个公司出来的人,一定知道自己以前公司的项目情形。因此为了圆谎,他就会说:“他们从事的是这个公司的老项目改造工作,用了很多新技术进去!”那

  • SQL字符串的分组聚合(ZT)

    本文转载于T-Sql:字符串分组聚合,也许你还有更简单的办法?   今天在看订阅的RSS的时候,看到这么一个问题:T-Sql中如何对分组的信息进行聚合,并以逗号连接字符;也就是对一个表中的某个字段进行分组,然后对另一个字段聚合,如果表达得不太清楚,请看下面的表。原表:ParentChildCharlesWilliamCharlesHarryAnnePeterAnneZaraAndrewBeatriceAndrewEugenie处理后的结果: ParentChildrenCharlesWilliam,HarryAnnePeter,ZaraAndrewEugenie,Beatrice    貌似很简单,以我的思考,先写一个聚合函数,然后再查询语句里面调用这个聚合函数;实际上还有更简单的办法,这是作者给出的解决办法,没有用到自定义聚合函数,他用的是FORXMLPATH(‘’)这样的处理方式,感觉真是爽witht  as( select 'Charles'parent, 'William'child union select 'Charles&

  • js--总结最近遇到的表单校验---element+原生+jq+easyUI(前端职业生涯见过的最烦的校验)

    最近写了无数各种形式的表单,记录下奇奇怪怪的校验规则~ 一:首先是element自带的rules校验规则: element作为常用框架,自带rules属性简单易懂,官方文档一目了然,不再赘述,应付常用校验足够了, 相对麻烦的是自定义的校验函数,举个例子: html部分: 复制 1<el-formid="form" 2:rules="rules" 3:inline="true" 4:model="form" 5size="medium" 6ref="form" 7label-position="right" 8label-width="136px" 9validate-on-rule-change 10class="postForm"autocomplete="off"inline-message> 11<el-form-itemprop="phone"> 12<el-inputv-model="form.phone"name="phone"id="phone"size="medium"required> 13</el-input> 1

  • Nexus

    settting.xml <settings> <pluginGroups> <pluginGroup>org.sonatype.plugins</pluginGroup> </pluginGroups> <servers> <server> <id>nexus</id> <username>admin</username> <password>admin123</password> </server> </servers> <mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/repository/maven-public/</url> </mirror> </mirro

  • 通过主机名来获取一个ip对象

    //通过名称(ip字符串or主机名)来获取一个ip对象。 InetAddressip=InetAddress.getByName("www.baidu.com");//java.net.UnknownHostException System.out.println("addr:"+ip.getHostAddress()); System.out.println("name:"+ip.getHostName());复制 结果输出: addr:119.75.213.61 name:www.baidu.com复制   亲测好使。

  • Weka算法Clusterers-Xmeans源代码分析(一)

    <p></p><p><spanstyle="font-size:18px">上几篇博客都是分析的分类器算法(有监督学习),这次就分析一个聚类算法(无监督学习)。</span></p><p><spanstyle="font-size:18px"></span></p><p><spanstyle="font-size:18px">一、算法</span></p><p><spanstyle="font-size:18px">Xmeans算法基本就是大名鼎鼎的K-means算法。然后Weka做了一点“小”改进。使之能自己主动确定聚类数量,那么首先就说一下K-means算法。顺便说一下Weka原生的Kmeans算法是SimpleKMeans聚类器。</span></p><p><spanstyle="font-size:18px">K-means算法是属于典型的

  • 习题4-11 兔子繁衍问题(15 分)

      一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对? 输入格式: 输入在一行中给出一个不超过10000的正整数N。 输出格式: 在一行中输出兔子总数达到N最少需要的月数。 输入样例: 30 复制 输出样例: 9复制 网上经典解决方法:设当前第i个月,这个月的兔子总数,大致可以分为2部分,1部分是非新生的,另一部分是当月新生的。 非新生的应该是第i-1个月的兔子总数,新生的取决于第i-2个月的兔子总数。即兔子[i]=兔子[i-1]+兔子[i-2]。 于是,各个月的兔子数就形成了一个斐波那契数列:斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89,144,...。 #include<stdio.h> intmain(void) { intN; scanf("%d",&N); if(N==1)printf("1");//如果总数为1则是第一个月 else { inti,count,x1=1,x2

  • 自动补全bootstrap3-typeahead.js

    <formclass="form-horizontal"role="form"> <divclass="form-groupcol-sm-6"> <labelfor=""class="col-sm-2control-label">名字</label> <divclass="col-sm-10has-feedback"> <inputid=""type="text"class="form-controltypeahead"placeholder="请输入姓"/> <spanclass="glyphiconglyphicon-triangle-bottomform-control-feedback"aria-hidden="true"></span> <spanid="inputSuccess2Status"class="sr-only">(success)</span></div> </div> </form><!--自定义样式

  • Jmeter接口测试实例:带参数、带token

    测试内容简介: 1.get请求,无参数 2.get请求,参数为第一条响应中的id 3.get请求,带token 结构图:     下面进行详解: 一、添加cookie管理器等   1.添加httpcookie管理器,使用默认设置不需修改         2.添加http请求默认值,填写名称(如www.baidu.com)、端口号(80)、协议(http)        3.获取token  token在登录接口返回的信息中,所以发送一个登录请求并从返回信息中提取所需要的token   3.1使用的是外部文件进行参数化登录(如不明白请参照上一篇文章),也可直接输入手机号及密码         3.2添加正则表达式提取器(填写格式请百度)         3.3添加响应断言,判断

  • 第12篇-认识CodeletMark

    InterpreterCodelet依赖CodeletMark完成自动创建和初始化。CodeletMark继承自ResourceMark,允许自动析构,执行的主要操作就是,会按照InterpreterCodelet中存储的实际机器指令片段分配内存并提交。这个类的定义如下: classCodeletMark:ResourceMark{ private: InterpreterCodelet*_clet;//InterpreterCodelet继承自Stub InterpreterMacroAssembler**_masm; CodeBuffer_cb; public: //构造函数 CodeletMark( InterpreterMacroAssembler*&masm, constchar*description, Bytecodes::Codebytecode=Bytecodes::_illegal): //AbstractInterpreter::code()获取的是StubQueue*类型的值,调用request()方法获取的 //是Stub*类型的值,调用的reque

  • BZOJ 1022

    programbzoj1022; vart,n,i,ans,k,j,k1,k2:longint; bo:boolean; begin read(t); fork:=1totdobegin read(n); ans:=0;k2:=0; fori:=1tondobegin read(k1); ifk1>1theninc(k2); ans:=ansxork1; end; if((ans=0)and(k2>0))or((ans<>0)and(k2=0))thenwriteln('Brother')elsewriteln('John'); end; end.复制   让别人无路可走

  • DHCP协议原理

       DHCP 全称DynamicHostconfigurationprotocol,动态主机配置协议。 它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数, 简单来说,就是在DHCP服务器上有一个数据库, 存放着IP地址、网关、DNS等参数。 当客户端请求使用时, 服务器则负责将相应的参数分配个客户端,避免客户端手动指定IP地址等。特别是在一些大规模的网络中。客户端数目较多,使用DHCP可以方便对这些机器进行管理,为客户机提供TCP/IP参数配置,如IP地址、网关地址和DNS服务器等,不仅效率高,而且不存在IP地址冲突的情况现在的无线路由器默认都带有DHCP功能,也就是说一个无线路由器同时也是一个DHCP服务器。 TCP/IP协议想要运行正常的话,网络中的主机和路由器不可避免地需要配置一些信息(如接口的IP地址等)。有了这些配置信息主机/路由器才能提供/使用特定的网络服务。   主机信息的必要元素有:IP地址、子网掩码、DNS服务器IP地址&

  • js-Date()日期对象

    js-Date()日期对象 日期对象是系统提供好的 Date对象属性 属性 描述 constructor 返回对创建此对象的Date函数的引用。 prototype 使您有能力向对象添加属性和方法。 Date对象方法 方法 描述 Date() 返回当日的日期和时间。 getDate() 从Date对象返回一个月中的某一天(1~31)。 getDay() 从Date对象返回一周中的某一天(0~6)。 getMonth() 从Date对象返回月份(0~11)。 getFullYear() 从Date对象以四位数字返回年份。 getYear() 请使用getFullYear()方法代替。 getHours() 返回Date对象的小时(0~23)。 getMinutes() 返回Date对象的分钟(0~59)。 getSeconds() 返回Date对象的秒数(0~59)。 getMilliseconds() 返回Date对象的毫秒(0~999)。 getTime() 返回1970年1月1日至今的毫秒数。

  • 模板(template)

    文档地址:https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/template.html   第一步,先定义模板 <templatename="msgItem"> <view> <text>余额:{{remaining}}</text> <text>时间:{{time}}</text> </view> </template>复制 第二步,引用定义的模板,并循环加载所有数据 <templatewx:for="{{array}}"is="msgItem"data="{{...array[index]}}"/>复制   第三步,js代码为 Page({ data:{ array:[ { "id":1, "remaining":"100", "time":"2019-11-3017:14",//交易时间 }, { "id":2, "remaining":"60", "time":"

相关推荐