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个数字字符。

浙公网安备 33010602011771号