正则表达式


1. 正则表达式用于定义一些字符串的规则:计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。

2. 创建正则表达式对象:

var reg=new RegExp("正则表达式","匹配模式");  //结果:/内容/

匹配模式:值:i:忽略大小写

g:全局匹配模式

使用字面量来创建正则表达式:

语法:var 变量=/正则表达式/匹配模式;

var express=/a/i;

var result=express.test("abcdse");

console.log(result);

检查一个字符串中是否有a或b:

var express=/a|b|c/i;

或var express=/[ab]/i;

检查是否有字母:[A-z]

检查是否有abc,adc,aec:

var express=/a[bde]c/i;

[^ab]:除了ab以外都为true

[0-9]:任意数字

[a-z]:任意小写字母

3. 正则表达式的方法:test( )使用这个方法可以用来检查一个字符串是否符合正则表达式,符合返回true,不符合返回false;

var str='a';      //用来检验字符串中是否含有a

var result=reg.test(str);

console.log(result);

4. 字符串与正则表达式

split:把字符串分割为字符串数组。

根据字母拆分字符串:    //不指定全局匹配也会全部改变

var express='a1b2n3v4b5c5g7';
result=express.split(/[0-9]/);
console.log(result);

 

search:搜索字符串中是否含有指定内容

若搜索到指定内容,则返回第一次出现的索引,若没有搜索到返回-1

只会查找第一个

var express="a1 b2 n3 v4 b5 c5g7";
result=express.search('a1');
console.log(result);

var express="a1 b2 abc v4 aec c5g7";
result=express.search(/a[be]c/);
console.log(result);

match( ):根据正则表达式,从一个字符串中将符合条件的内容提取出来

默认情况下只会找到第一个符合要求的内容,找到以后就停止检索,将正则表达式设置为全局匹配,就会匹配到所有内容。

会将匹配到的内容封装到一个数组中返回,即使只搜索到一个结果。

var express="a1b2abcv4aecc5g7";
result=express.match(/[A-z]/gi);
console.log(result);

replace():将字符串中指定内容替换为新的内容。

参数:被替换的内容,可以接受一个正则表达式作为参数

新内容

默认只替换第一个

var express="a1b2abcv4aecc5g7";
result=express.replace(/b/gi,"g");  //删除字母:新内容为“”
console.log(result);

5. 量词:通过量词可以设置一个内容出现的次数:{n}正好出现n次,量只对它前面一个内容起作用;(ab){3}==ababab;

ab{1,3}c:出现一次到三次b

ab{3, }c:出现三次以上b

ab+c:出现至少一个b

ab*c:出现0个或多个b

ab?c:出现0个或1个b

^a:以a开头

a$:以a结尾

^a|a$:以a开头或者以a结尾

^a$:只能是一个a

var str=/a{3}/;

 

6. 检查一个字符串是否为一个合法手机号

以1开头        ^1

第二位3-9任意数字 [3-9]

三位以后任意数字   [0-9]{9}$

var reg=/^1[3-9][0-9]{9}$/;
console.log(reg.test('13953975005'));

7. 检查一个字符串中是否含有.

. 表示任意字符

使用 \ 来表示转义字符,使用  \ . 来表示 .

在构造函数要使用 \ 要利用 \\ 来代替

\w

任意数字、字母、_、[A-z 0-9]

\W

除了任意数字、字母、_、[A-z 0-9]

\d

任意数[ 0-9]

\D

除了任意数[ 0-9]

\s

空格

\S

除了空格

\b

单词边界

\B

除了单词边界

var reg=/\bchild\b/;
console.log(reg.test('hello children'));

8. 接收一个用户的输入

var str=prompt("请输入你的用户名:");
//去除字符串中前后的空格,使用“”替换空格
str=str.replace(/^\s*|\s*$/g,"");
console.log(str);

9. 写一个电子邮件的正则

任意的字母数字下划线 . 任意的字母数字下划线@ 任意字母数字 .任意字母(2-5). 任意字母(2-5)

\w{3,}  (\.\w+)* @  [A-z0-9]+  ( \.[A-z]{2-5}){1,2}

可以在网上搜索

JavaScript基础-06-正则表达式的更多相关文章

  1. javascript基础06

      javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...

  2. JavaScript基础知识-正则表达式

    正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { };  // 定义一个空对象     ...

  3. JavaScript基础06——字符串

    字符串的创建: 字符串的创建: var str = "hello world"; //常量,基本类型创建 var str2 = new String("hello wor ...

  4. 从零开始学习前端JAVASCRIPT — 9、JavaScript基础RegExp(正则表达式)

    1:正则的概念 正则表达式(regular expression)是一个描述字符规则的对象.可以用来检查一个字符串是否含有某个子字符串,将匹配的子字符串做替换或者从某个字符串中取出符合某个条件的子串等 ...

  5. JavaScript基础06——Math对象和日期对象

    内置对象-Math:  Math对象用于执行 数学任务,Math 不像 Date 和 String 那样是对象的类,因此没有构造函数Math().无需创建,直接把Math当成对象使用,就可以调用其所有 ...

  6. JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组

    JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...

  7. JavaScript基础系列目录(2014.06.01~2014.06.08)

    下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...

  8. JavaScript基础入门06

    目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...

  9. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  10. Javascript中的正则表达式

    Javascript中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...

随机推荐

  1. mybatis的<if>标签,<foreach>标签,<collection>标签,<association>标签以及useGeneratedKeys用法

    <if>标签 1.判断非空或不等于 <if test="assessTypes!= null and assessTypes!='' "> AND FIND ...

  2. [redis] -- 缓存雪崩和缓存穿透、缓存击穿问题解决方案篇

    缓存雪崩 缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉 解决方案 事前:尽量保证整个redis集群的高可用性,发现机器宕机尽快补上.选择合适的内存淘 ...

  3. django 学习记录(一)

    不使用 drf 来实现django 的 api 接口 json序列化 from django.shortcuts import render from django.views.generic.bas ...

  4. web自动化 -- HTMLreport(四)测试报告默认不展开输出内容

    一.需求痛点 1.默认展开输出内容,很不好查看每条用例的状态,而且也很丑 2.希望默认不展开输出内容 3.痛点截图 二.解决步骤 1.直接修改成这样子 三.效果

  5. java基础(六)--常用转义字符

    1.换行:"\n"

  6. Spring Data JPA根据属性名查询

    https://blog.csdn.net/chengqiuming/article/details/82528961

  7. layui常用插件(二) 时间插件

    日期和时间 html <div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 --> <input type=& ...

  8. Fortify Audit Workbench 笔记 Unreleased Resource: Database( 未释放资源:数据库)

    Unreleased Resource: Database 未释放资源:数据库 Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资 ...

  9. jquery判断radio是否选中

    微交易-实体系统 微交易-虚拟系统   <div class="system"> <div class="systemt"> <l ...

  10. Python第一次实验

    ''' 计算 1.输入半径,输出面积和周长 2.输入面积,输出半径及周长 3.输入周长,输出半径及面积 ''' # # 1.输入半径,输出面积和周长 # from math import pi # # ...