JavaScript 正则表达式

 正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

 正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。  

 使用字符串方法

  在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

  search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

  正则:var str = "Visit Runoob!";  var n = str.search(/Runoob/i);

  字符串:var str = "Visit Runoob!";  var n = str.search("Runoob");

  replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

  正则:var huas = box.innerHTML;
     var xin = huas.replace(/hua/i, 'hermit'); //正则方式 第一个为正则,第二个为新值
     box.innerHTML = xin;

  字符串: var huas = box.innerHTML;
       var xin = huas.replace('qq', 'wertyuiop'); //字符串方式  第一个为旧值,第二个为新值
       box.innerHTML = xin;

正则表达式修饰符

  i : 执行对大小写不敏感的匹配。

    g: 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

   m:执行多行匹配。

正则表达式模式

  方括号用于查找某个范围内的字符:

  表达式

  [abc]  查找方括号之间的任何字符。

  [0-9]  查找任何从 0 至 9 的数字。

  (x|y)  查找任何以 | 分隔的选项。

  元字符是拥有特殊含义的字符:

  \d  查找数字。

  \s  查找空白字符。

  \b  匹配单词边界。

  \uxxxx  查找以十六进制数 xxxx 规定的 Unicode 字符。

  量词:

  n+  匹配任何包含至少一个 n 的字符串。

  n*   匹配任何包含零个或多个 n 的字符串。

  n?  匹配任何包含零个或一个 n 的字符串。

使用 RegExp 对象

  在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。  

  使用 test()

    test() 方法是一个正则表达式方法。

    test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

    例:var patt = /u/i;  声明一个变量来保存正则表达式

     var  a  = patt.test("The best things Use in life are free!");

     console.log('a==>>', a);

    或者这样写:var b =  /e/.test("The best things in life are free!")

          console.log('b==>>', b);

  

  使用 exec()

  exec() 方法是一个正则表达式方法。

  exec() 方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放有匹配的结果。如果未找到匹配,则返回值为 null。

  例:// exec()方法
    var patt = /u/i;  //声明一个变量来保存正则表达式
    var aa = patt.exec("The best things Use in life are free!");
    console.log('aa==>>', aa);

    输出结果:

  正则表达式表单验证实例: 

  /*是否带有小数*/
  function isDecimal(strValue ) {
  
var objRegExp= /^\d+\.\d+$/;
  
return objRegExp.test(strValue);
  
}   /*校验是否中文名称组成 */
  function ischina(str) {
     
var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/
     
return reg.test(str);       /*进行验证*/
  
}   /*校验是否全由8位数字组成 */
  function isStudentNo(str) {
      
var reg=/^[0-9]{8}$/;        /*定义验证表达式*/
      
return reg.test(str);       /*进行验证*/
  
}   /*校验电话号码格式 */
  function isTelCode(str) {
      
var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
      
return reg.test(str);
  
}   /*校验邮件地址是否合法 */
  function IsEmail(str) {
      var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
      return reg.test(str);
  }

 

javascript入门篇(六、正则表达式)的更多相关文章

  1. JavaScript入门篇 编程练习

    编程挑战 一.定义"改变颜色"的函数 提示: obj.style.color obj.style.backgroundColor 二.定义"改变宽高"的函数 提 ...

  2. 慕课网JavaScript入门篇课程笔记

    1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...

  3. JavaScript入门篇

    记录一下在慕课网学习JavaScript的过程. 以下内容均来自慕课网. 传送:https://www.imooc.com/code/401 为什么学习JavaScript 1. 所有主流浏览器都支持 ...

  4. 开心菜鸟系列----函数作用域(javascript入门篇)

      1 <!DOCTYPE html>   2 <html>   3 <script src="./jquery-1.7.2.js"></ ...

  5. 开心菜鸟系列----变量的解读(javascript入门篇)

                       console.info(         console.info(window['weiwu'])          console.info(window. ...

  6. 【SSRS】入门篇(六) -- 分组和总计

    原文:[SSRS]入门篇(六) -- 分组和总计 通过[SSRS]入门篇(五) -- 设置报表格式的设计,一份简单格式的报表已产生,如下图: 这节来说说分组和总计: 根据日期.订单对数据进行分组 添加 ...

  7. 1、JavaScript入门篇

    一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现各种动态效 ...

  8. javascript入门篇(三)

    字符串属性和方法 原始值字符串,如'liang', 没有属性和方法(因为他们不是对象). 原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值 ...

  9. javascript 进阶篇1 正则表达式,cookie管理,userData

    首先,什么事正则表达式呢,其实引入概念很多时候并不能帮我们明白它到底是什么,所以我先简单描述下,正则表达式,其实就是一个记录字符串规则则的字符串,等我们看完这一部分,也就能明白它到底是什么了. 基本语 ...

随机推荐

  1. java.IO层次体系结构

    在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writer.Reader:一个接口指的是Serializable.掌握了 ...

  2. jieba库分词词频统计

    代码已发至github上的python文件 词频统计结果如下(词频为1的词组数量已省略): {'是': 5, '风格': 4, '擅长': 4, '的': 4, '兴趣': 4, '宣言': 4, ' ...

  3. Scrapy爬虫框架第三讲(linux环境)

    下面我们来学习下Spider的具体使用: 我们已上节的百度阅读爬虫为例来进行分析: 1 # -*- coding: utf-8 -*- 2 import scrapy 3 from scrapy.li ...

  4. Scrapy爬虫框架补充内容一(Linux环境)

    Scrapy爬虫框架结构及工作原理详解 scrapy框架的框架结构如下: 组件分析: ENGINE:(核心):处理整个框架的数据流,各个组件在其控制下协同工作 SCHEDULER(调度器):负责接收引 ...

  5. JDK1.8的新特性

    JAVA8新特性 接口改善 现在接口里已经完全可以定义静态方法了. 举一个比较普遍的例子就是在java类库中, 对于一些接口如Foo, 都会有一个有静态方法的工具类Foos 来生成或者配合Foo对象实 ...

  6. Cookie与 Session使用详解

    Cookie概念 在浏览某些 网站 时,这些网站会把 一些数据存在 客户端 , 用于使用网站 等跟踪用户,实现用户自定义 功能. 是否设置过期时间: 如果不设置 过期时间,则表示这个 Cookie生命 ...

  7. gevent:异步理论与实战[转]

    原创 2018-01-10 大邓 大邓带你玩python gevent库中使用的最核心的是Greenlet-一种用C写的轻量级python模块.在任意时间,系统只能允许一个Greenlet处于运行状态 ...

  8. django从0到1搭建网站

    曾经有人说我前端很水,那么在这一系列文章中我打算把前后端融合在一起来做一次网站的全面重构,希望可以把刚刚入行的同学带上正途   请尊重原创,转载请注明来源网站www.shareditor.com以及原 ...

  9. 常用JS对象的方法总结

    String 方法 描述 charAt() 返回在指定位置的字符. charCodeAt() 返回在指定的位置的字符的 Unicode 编码. concat() 连接字符串. indexOf() 检索 ...

  10. MongoDB之DBref(关联插入,查询,删除) 实例深入

    http://blog.csdn.net/crazyjixiang/article/details/6668288 suppose I have the following datastructure ...