1.将数字和. 之外的清除 οnkeyup='this.value=this.value.replace(/[^\d.]/gi,"")'
2.qq:\'\d+\'和 qq:\'(\d+)\'的区别(
()的用法)
var str2=str.match(/qq:\'\d+\'/);
得到的是一个数组[qq:'2275025']
var str2=str.match(/qq:\'(\d+)\'/);
得到的数组["qq:'2275025'","2275025"]
str2[2]=2275025
()的作用就是在当前匹配的结果中把()的东西,作为数组第二个元素,让你可以获取
3.\w的用法
我们平常看到了网站用户名注册,就用到了这个
\w=[A-Za-z0-9_] 在正则表达式中,大写和小写,
相反,比如\D表示非数字,\d表示数字,\W=[^A-Za-z0-9_],说到这,我们可以知道
[^是取反的意思(^是匹配开始)
4.正则表达式中,元字符需要转义,例如
()
,转义,用
\
这个我们都知道
5.
[] 中括号的用法
在中括号中,我们可以这样写
[123 )]
这个表示是
1或者
2或者
3或者
空格或者
),
在中括号中,元字符好像不需要转义
6.
|的用法
|表示或者的意思,通常我们需要匹配的可能有几个就可以
|,比如身份证号,最后一位可能是数字,也可能是X,这里我们就可以用到|
7.*——0到多个
?——0到1个
+——1到多个
8.从右到左,每个四个数字,空一格
var strNum='67788889999';
var strNumn=strNum.split('').reverse().join('').replace(/(\d{4})/g,'$1 ').replace(/\,$/,'').split('').reverse().join('');
console.log(strNumn);
如果是从左到右就不需要反转,数组和字符串转换,注意$1后面有一个空格,可以换成逗号之类
//限制输入8个字符,相当于maxLeng=8
var t=/^[A-Za-z0-9|\u4e00-\u9fa5]{8}/;
document.getElementById('key').onkeyup = function(){
var self =this.value;
this.value = t.test(self)?self.match(t):self;
}