1、正则的声明方法

  1)var reg = /abc/; "这个叫对象直接量方式";
  2)var reg = new RegExp("abc") 这个叫构造函数方式;

2、正则方法

1)exec() 方法用于检索字符串中的正则表达式的匹配。 返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
  返回的数组中 第0个元素为 0 匹配到的文本
  第1个元素为 index 匹配到的文本出现的位置
  第2个元素为 input 被匹配的字符串
  第3个元素为 length 匹配到的文本的个数

  使用while可以匹配多次
  while (result = reg.exec(str)) {
    console.log(result)
  }
2)test 方法用于检测一个字符串是否匹配某个模式.
  reg.test(str) //返回true或者false

5、可以用于正则的string方法

1)match()

  将字符串中匹配的内容捕获出来
  若加上量词g则一次性捕获所有匹配的内容放到数组里返回,若不加则与exec()的返回值一样
  用法:string.match(regexp)

  match 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 将字符串中匹配的内容捕获出来
  var reg = /abc/g;
  var str = "11abc00abc"
  console.log(str.match(reg));//返回一个数组

  注:如果没有g(不是全局匹配) 则与exec类似
  如果有g(全局匹配) 找到匹配的所有文本返回一个数组

2)replace 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
  str.replace(reg,"44")
  返回值是一个被替换过的新的字符串,不改边原来字符串

3)search() 返回值是相匹配的子串的起始位置。 方法不执行全局匹配,它将忽略标志 g。
  var str="Visit W3School!"
  document.write(str.search(/W3School/)) // 6

4)split() 字符串的分割 ,返回一个数组。正则可以匹配它的分割方式

附:

一、用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

二、密码强度
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//输出 true
console.log("=="+pPattern.test("iFat3#"));

三、身份证号(18位)正则
//412724 1991 1014 1575
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

四、手机号

var TEL_REGEXP = /^1([38]\d|5[0-35-9]|7[3678])\d{8}$/;

  var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;

js之正则的更多相关文章

  1. JS利用正则配合replace替换指定字符

    替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一 ...

  2. js之正则的坑

    首先给一个神奇的图: 我的反应,精分吧!一会儿true一会儿false的... 后来发现,把g去掉后就正常了,那这是为什么呢??lastIndex惹得鬼! 正文: lastIndex 全局正则表达是, ...

  3. JavaScript 字符串匹配 | JS 的正则用法 | 从后边匹配

    // 字符串匹配命令是 match,不是 replace var text = "http://123.com/456.html" ; window.alert(text.matc ...

  4. js常用正则

    var sTest="xxxkdsj234dogdog1234xx"var reTest1=/(dog){2}/var reTest2 = /(?:dog){2}/;console ...

  5. 使用JS通过正则限制input的输入

    第一: 限制只能是整数 type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$ ...

  6. jQuery的基础跟JS的正则

    大家好,我是唯芸星,这是我的一点点学过的知识,呈现给大家                   1:正则表达式 包括: 1:正则表达式包括两部分 ①:定义正则表达式的规则 ②:正则表达式的规模(i/g/ ...

  7. 【js】正则

    复习字符串操作search 查找substring 获取子字符串charAt 获取某个字符split 分割字符串,获得数组 <script> var str="abcdef&qu ...

  8. js jquery 正则去空字符

    1.正则去空字符串: var str1=" a b c "; var strtrim=str1.replace(/\s/g,""); 2.js去前后空字符串: ...

  9. php正则讲解 及与 js的正则比较

    正则:用于检索字符串的规则: js正则: var reg=/规则/ reg是一个对象,在浏览器下: 所以研究他的属性和方法 属性: global是修饰符,代表全局检索 g ignorecase 忽略大 ...

  10. JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金)

    第一: 限制只能是整数 <input type = "text" name= "number" id = 'number' onkeyup= " ...

随机推荐

  1. mysql之子查询、视图、事务及pymysql等

    数据准备 CREATE TABLE `emp` ( `id` int(0) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `gender` ...

  2. vmtools的功能

    1.vmtoools是vmware公司的组件 2.vmtools主要安装在Guest OS中 3.在workstation版本中可以是选件安装,但在vsphere中却是必选安装 4.vmtools可以 ...

  3. 从rpm包提取rpm spec 的几种方法

    包含了源码包 先安装,然后在rpmbuild 目录直接可以查看文件 不用安装 ,使用rpm2cpio rpm2cpio myrpm.src.rpm | cpio -civ '*.spec' 没有源码 ...

  4. [cf113d]Museum

    传送门 Solution 设一个状态为 \((x,y)\) 表示两人在的位置,求出每个状态期望出现的次数 设一个状态为 \(u\) , \(x_u^0=[u==(a,b)]\) 所以一个状态出现的次数 ...

  5. vue工具 - vue/cli@3.xx 安装使用流程

    mac安装记得npm前边加sudo 安装脚手架,用于生成目录 npm install -g @vue/cli 安装用于编译单个的.vue文件 npm install -g @vue/cli-servi ...

  6. 剑指offer:机器人的运动范围(回溯法DFS)

    题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...

  7. js追加html元素

    jquery追加html代码,添加元素 .append() //新增仲裁申请人 $("."+inputName).append("<div class=\" ...

  8. Lab7:同步互斥

    并发进程的正确性 独立进程 不和其他进程共享资源或状态 确定性 -> 输入状态决定结果 可重现 -> 能够重现起始条件 调度顺序不重要 并发进程 在多个进程间有资源共享 不确定性 不可重现 ...

  9. 【神经网络与深度学习】chainer边运行边定义的方法使构建深度学习网络变的灵活简单

    Chainer是一个专门为高效研究和开发深度学习算法而设计的开源框架. 这篇博文会通过一些例子简要地介绍一下Chainer,同时把它与其他一些框架做比较,比如Caffe.Theano.Torch和Te ...

  10. java 执行 shell脚本通过mysql load data导入数据

    1:load_data_test.sh #!/bin/sh load_data_log=/mnt/load_data_test/load.log load_sql="LOAD DATA LO ...