正则表达式

作用:定义一个特定的验证字符串内容规则的表达式

注:正则表达式并不是JavaScript独有的;JavaScript支持正则表达式

var a = { };  // 定义一个空对象               var b = [ ];// 定义一个空数组

var d = / /;  // 定义一个空正则表达式          var c = ( );  【错误】

i    定义正则表达式

定义一个空的正则表达式时 ---编辑器会报错;   空的正则表达式的值 ---undefined

  • 字面量方式

var 正则表达式 = /表达式规则/修饰符     

  • 构造函数方式

var 正则表达式 = new RegExp(表达式规则,修饰符)

i 正则表达式对象的验证方法

先定义用于验证的字符串;再定义正则表达式的规则;后验证字符串是否符合正则表达式的规则

eg: /表达式规则/.test (所有内容的字符串)

结果:完全相同返回 true                              [注:必要是匹配和位置无关]

²  直接字符

[ ] 表示字符集合。只要其中任意一个匹配,则返回true    数字: [0-9]  字母: [a-zA-Z]

^ 表示反向集合   \d : [0-9] -> 匹配单个数字

? 表示匹配前面一个字符0次或者1次,和{0,1}有相同的效果。

+ 表示匹配前面一个字符1次或者多次,和{1,}有相同的效果。

* 表示匹配前一个字符0次或者是多次。

²         重复规则 –

{n,m} - 匹配前面的字符最少出现n次,最多出现m次;即n <= 次数 <= m

{n} - 匹配前面的字符出现 n 次

²     位置规则

^:表示字符的开始位置;     $:表示字符的结束位置

eg:   / [ ]{n,m} /            ----【连续】出现【n到m次】

/ [数字和字母]{n,m} /   ----只要字母和数字有其一即可

/ ^[数字和字母]{n,m} /   ----以数字或字母【开头】,且连续出现n到m次

/ {n,m}$ /            ---以数字或字母【结尾】,且连续出现n到m次

/ ^[ ]{n,m}$ /         ----以数字或字母【结尾】【总共】个数是n到m

8       直接量字符

\t : 水平制表符  TAB键                \n \r : 换行符或回车符  ENTER键

8      修饰符

i - 表示不区分大小写;       g - 全局搜索;          m - 多行搜索;

eg:  var 名称 = /正则表达式/ i     var 名称 = new RegExp('[a-z]{3,5}', 'i' );

u 字符串使用正则表达式的方法

²  替换方法

replace(/被替换的内容/,被替换的内容 )     被替换的内容---使用正则表达式

²  匹配内容—>数组

match(/需匹配的内容/)

返回值:是一个数组;       需匹配的内容---使用正则表达式

(注:若参数为字符串时,返回的数组只有一个元素)

²  查找内容—>位置

search(需查找的内容)

返回值:匹配内容的索引值        (注:如果没有任何内容匹配的话,返回 -1)

最新文章

  1. ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
  2. 按钮的Default Button属性
  3. 当前JS文件中加入其他js文件
  4. (medium)LeetCode 233.Number of Digit One
  5. jquery.validate详解一
  6. OCP读书笔记(3) - 使用RMAN恢复目录
  7. Web在线视频方案浅谈
  8. laravel 添加第三方扩展库
  9. 微信js-sdk接口的使用及ios深坑
  10. swift 3.0 基础练习 面向对象 类的扩展
  11. sed使用范例
  12. java volatile关键字解析
  13. Jmeter日志级别
  14. 开放源代码的设计层面框架Spring——day04
  15. 爬虫解析之css,xpath语法
  16. Vue——显示微信用户名称中enjoin表情
  17. tessaract ocr简介
  18. js setInterval详解
  19. jupyter安装,修改登录密码,启动
  20. firedac调用ORACLE的存储过程

热门文章

  1. DIV+CSS左右两列自适应高度的方法
  2. MooFest 树状数组 + 前缀和
  3. 解决远程登录mysql命令行无法登录问题
  4. 洛谷P1055 ISBN号码
  5. Python-基础-day1
  6. python第六周:面向对象编程
  7. JAVA基础知识复习小结
  8. 【hdu 6342】Expression in Memories
  9. ioremap映射函数
  10. 2015 Multi-University Training Contest 10 hdu 5412 CRB and Queries