3月13号笔记

EL表达式

在日常开发中,我们想要验证一个字符串是否符合我们的要求,用到正则表达式可以很方便的满足我们的需求

例子:

js中

function priceReg (value){
	value = value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符
		value = value.replace(/^\./g,"");  //验证第一个字符是数字而不是.
    value = value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的.
    value = value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//去掉特殊符号¥
	if(value.indexOf(".")>0){
		value = value.substring(0,value.indexOf(".")+3);
	}
	return value;
}

html中

<input type="text" name="phone" placeholder="请输入账号(手机号)" pattern="1\d{10}" title="请输入11位数字的手机号">

那么,正则表达式怎么看呢?

首先要知道怎么断句

  • 设我们要匹配的字符是o,o可以是'a','b','c','1','2','3'等等
  • 字符后面如果跟着特殊字符,这些特殊字符看作和o一起
    • ?表示出现了0次或1次,如:abc?de可以匹配abcde,也可以匹配abde
    • *表示出现了0次或多次
    • +表示出现了1次或多次
    • {L,R}表示出现了[L,R]区间的任一次,特殊的,{L,}表示至少出现了L次
    • []匹配一个字符,字符内容由[]里面的内容决定,如[a-z]可以匹配a到z的任意”一个“字符。
      • 特殊的,[]里面以'^'开头,表示匹配一个除了后面的字符之外的字符。
  • 还有一些元字符,如'\d'表示0-9之间的数字,'\w'表示任意单词(word),'.'表示任意字符

联系一下,

value = value.replace(/[^\d.]/g,"");

该怎么断句呢?

'/ /'里面的内容是匹配的字符,g表示所有。可见匹配的是除了\d和.之外的任意一个字符。

 pattern="1\d{10}"

该怎么短句呢?

1匹配1,\d{10}匹配10个数字字符。

posted @ 2022-03-16 17:37  zhuangzhongxu  阅读(46)  评论(0)    收藏  举报