正则表达式Regex

2017-08-23  本文已影响0人  栗子Leely

看了正则表达式的一些规则,入门还是比较简单的,以下是我做的一些整理。

一、常用元字符(字母均小写)

. 匹配除换行符(\ n)的以外的任意字符                                                                  

\ w匹配字母或数字或汉字或下划线

\ s匹配任意的空白符,一般搭配*,即\ s *表示0或多个空白符

\ d匹配数字

\ b匹配单词的开始或结束,平常没怎么用到

^匹配字符串的开始

$匹配字符串的结束

二,常用反义词

\ W匹配任意不是字母,数字,汉字,下划线的字符

\ S匹配不是空白字符的字符

\ D匹配任意非数字的字符

\ B匹配不是单词开头或结束的位置

[^ x]匹配除了x以外的任意字符

[^ aeiou]匹配除了aeiou这几个字母以外的任意字符

三,常用限定符

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

{n}重复n次

{n,}重复n次或更多次

{n,m}重复n到m次

四,常用正则表达式

1、手机号

var phone_regex = / ^ 0?(13 | 14 | 15 | 18 | 17)[0-9] {9} $ /

console.log(phone_regex.test( '15388990011')); //true

2、邮箱

var email_regex = / ^ \ w [ - \ w。] *([A-Za-z0-9] [ - A-Za-z0-9] + \。)+ [A-Za-z] 14} $ /;

console.log(email_regex.test('12345678@qq.com')); //true

补充:

  [-\ w.]表示符合 - 或者\ w或者。的一个字符

(abcd)表示字符串'abcd'

(a | b | c | d)表示a或者b或者c或者d

3、中文

var china_regex = / ^ [\ u4e00- \ u9fa5] $ /;

console.log(china_regex.test( '栗')); //true

4、两位小数的金额

var money_regex = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^(0){1}$)|(^\d\.\d{1,2}?$)/

console.log(money_regex.test(12.11)); //true

推荐:

正则生成工具:HTTP://www.sojson.com/regex/generate

上一篇下一篇

猜你喜欢

热点阅读