正则表达式

写法:

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}    的意思是,连续的3c或者4c        (有4个匹配4个):贪心模式

c{3,4}  的意思是(有4个匹配3个).非贪心模式

eg: 贪心模式{3,4}        ’kkkkdsf’     结果:kkkk

非贪心模式{3,4}?     ’kkkkdsf’     结果:kkk

3、 c{n,}

表示最少nc,最多则不限个数。

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).+/     bc开头,且中间不能包含\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]表示汉字


你可能感兴趣的:(正则表达式)