写法:
var reg = /test/;
var str = 'testString';
var result = reg.exec(str);
alert(result);
常用例子1:
Eg1:
要求:输入的内容。长度不能小于6,且只能是字母或_开头
规则:/^[a-zA-Z_]{6,}/;
Str=“ccccddd45ght” 结果“ccccddd”
Str=”cccc45ddgth” 结果“null”
原因:至少前面6位必须满足条件
Eg2:
要求:开头必须是英文字母,后面可以是字母、数字、下划线
规则:/^[a-zA-Z][a-zA-Z0-9_]+/;
输入框文本替换2:
input type=”text” onkeyup=”value=value.replace(/[^a-zA-Z]{1}/,’’)”
1、 c{n}
/c{2}/则会匹配两个连续的c。
2、 c{m,n}
c{3,4} 的意思是,连续的3个c或者4个c (有4个匹配4个):贪心模式
c{3,4}? 的意思是(有4个匹配3个).非贪心模式
eg: 贪心模式{3,4} ’kkkkdsf’ 结果:kkkk
非贪心模式{3,4}? ’kkkkdsf’ 结果:kkk
3、 c{n,}
表示最少n个c,最多则不限个数。
4、 *,+,?
*表示0次或者多次,等同于{0,}
+表示一次或者多次,等同于{1,}
?表示0次或者1次,等同于{0,1}
5、/^开头,结尾$/
/^c s$/ 意思是以c开始,以s结尾
6、点’.’
‘.’会匹配字符串中除了换行符\n之外的所有字符 (非贪心)
Eg: str=’sdfds\nkkkk’ 结果:sdfds
str=’\nsdfdskkkk’ 结果:null
7、点’.+’ 匹配所拥有的字符
Eg: reg = /.+/;
str='blueidea——经典论坛好_。';
execReg(reg,str);
结果是:“blueidea——经典论坛好_。
“也就是说所有的字符都被匹配掉了,包括一个空格,一个下滑线,和一个破折号。
8、二选一,正则表达式中的或,“|“
b|c表示,匹配b或者c。
eg1: ’ksdf’=str 结果是:undefined
’abd’=str 结果是:b
’acd’=str 结果是:c
’kcbfcf’=str 结果是:c
’kbcfcf’=str 结果是:b
Eg2: /^(b+c).+/ 以b或c开头,且中间不能包含\n.
/a|b/ 结果[“bsdfd”,”b”] 整个括号进行一次,再输出匹配b;
/?:(a|b)/ 结果[“bsdfd”] 整个括号进行一次,不再输出匹配b;
9、 字符集合[abc]
[abc]表示a或者b或者c中的任意一个字符
reg=/^[a-Za-z]+/;
str=’wer45fgh’;
结果:wer
10、反字符集合[^abc]
abc中的任意一个开头
[^0-9]表示非数字,[^a-z]表示非小写字母。
11、边界与非边界(\b对应\B表示非边界)
\b表示的边界的意思,也就是说,只有字符串的开头和结尾才算数。
Eg:/\bc/就表示字符串开始的c或者是结尾的c。
12、数字与非数字
\d表示数字的意思,相反,\D表示非数字。
13、空白
\f匹配换页符,
\n匹配换行符,
\r匹配回车,
\t匹配制表符,
\v匹配垂直制表符。
\s匹配单个空格,等同于[\f\n\r\t\v]。
Eg1: reg = /\s.+/;
str='This is a test String.';
execReg(reg,str);
返回“is a test String.”,正则的意思是匹配第一个空格以及其后的所有非换行字符。
Eg2:\S表示非空格字符
reg = /\S+/;
str='This is a test String.';
execReg(reg,str);
匹配结果为This,当遇到第一个空格之后,正则就停止匹配了。
14、单词字符
\w表示单词字符,等同于字符集合[a-zA-Z0-9_]。
\W表示非单词字符,等效于[^a-zA-Z0-9_]
\d表示[0-9];
\D表示非数字;
[\u4e00-\u9fa5]表示汉字