注意:只是简述,对正则对象的了解目前还不是很深刻,日后详细了解了再来修改。

正文:

正则对象

首先,我们要了解一下什么是正则对象:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

 

1、RegExp对象的创建方式

RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

创建方式:

var reg = new RegExp(“表达式”);    (开发中基本不用)

var reg(变量名) = /^表达式$/                  直接量(开发中常用)

直接量中存在边界,即^代表开始,&代表结束

所谓直接量(literal),就是程序中直接使用的数据值。

直接量方式的正则是对象,不是字符串,不要用引号。

2、test方法   注意是test  而不是text

正则对象.test(string);      用来检验字符串是否匹配正则。

全部字符匹配返回true,有字符不匹配返回false

3、正则对象使用注意事项。

直接量方式,如果一个字符不符合正则要求,就返回false,只有全部满足,才会返回true

例如:

<script type="text/javascript">

var reg=/^xjmwan$/;   //0-多个空格

var flag= reg.test("xjmwan1314");

alert(flag);

</script>

字符串xjmwan1314中含有对象xjmwan但是多出了1314,所以返回了false,这也是直接量方式适用于表单提交的优点,例如数据库中存储的密码是xjmwan,而当你输入xjmwan1314时很明显不是密码,返回false

而普通方式:

<script type="text/javascript">

var reg=/xjmwan/;   //0-多个空格

var flag= reg.test("xjmwan1314");

alert(flag);

</script>

普通方式的对象包含在字符串xjmwan1314中,所以返回了true,普通方式适用于检索,字符串xjmwan1314中包含xjmwan所以检索出来了返回false,此时要注意,xjmwan对象是一个整体,相当于一个“字符”。

而改动一下正则对象的普通方式:

<script type="text/javascript">

var reg=/xjmwan9/;   //0-多个空格

var flag= reg.test("xjmwan1314");

alert(flag);

</script>

字符串中并不包含整体xjmwan9,所以普通方式返回了false。

再次更改正则对象的普通方式:

<script type="text/javascript">

var reg=/xjmwan || 8/;   //0-多个空格

var flag= reg.test("xjmwan1314");

alert(flag);

</script>

字符串中不包含9但是包含xjmwan,所以返回了true。

由此可见:普通方式和直接量方式的区别是没有了^ $,普通方式,只要字符串中含有全部对象或者对象中的一个,就返回true。如果全部不包含,就返回false。

即:

/^表达式$/                只要有无法成立的正则字符存在,即为false。

全部符合才为true

(检查严格,眼睛里揉不得沙子)

适用于表单校验

/表达式/                  只要有成立正则的字符存在,即为true。(只要字符串中含有全部对象或者对象中的一个,就返回true。如果全部不包含,就返回false。)

(检查不严格,懒人思想)

适用于字符串查找、替换。

系统学习javaweb重点难点2--.JavaScript中的正则对象简述和正则对象使用注意事项。的更多相关文章

  1. 系统学习javaweb重点难点1--如何区分<input/>框里的三种常用属性:type属性 name属性 和 value属性

    感想:这是我系统学习javaweb的时候感觉这个是一个初学者十分容易搞混的点 学习笔记: 首先,是type属性. 表单输入项标签之一,用户可以在该标签上通过填写和选择进行数据输入. type属性设置该 ...

  2. 前端学习 第六弹: javascript中的函数与闭包

    前端学习 第六弹:  javascript中的函数与闭包 当function里嵌套function时,内部的function可以访问外部function里的变量 function foo(x) {   ...

  3. 【学习笔记】在原生javascript中使用ActiveX和插件

    什么是插件 现在的浏览器提供了大量的内置功能,但仍然有一些工作无法完成,如播放音频和视频.插件及其扩展浏览器功能就尤为重要. 插件是可下载的应用程序,可以插入到浏览器中,现在有很多不同的插件,常用的有 ...

  4. JavaScript中的Date,RegExp,Function对象

    Date对象 创建Date对象 //方法1:不指定参数var nowd1=new Date();alert(nowd1.toLocaleString( ));//方法2:参数为日期字符串var now ...

  5. JavaScript中的 原型 property 构造函数 和实例对象之间的关系

    1 为什么要使用原型? /* * javascript当中 原型 prototype 对象 * * */ //首先引入 prototype的意义,为什么要使用这个对象 //先来写一个构造函数的面向对象 ...

  6. javascript中使用new与不使用实例化对象的区别

    我们先来看个实例 function Me(name,age,job){ this.name = name; this.age = age; this.job = job; } 请问这以下两种实例化对象 ...

  7. JavaScript中推断一个对象是否为&quot;空对象”

    JavaScript中推断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这种. 详细的代码实现和原理例如以下: / ...

  8. 系统学习javaweb补充1----HTML常用语句

    HTML 常用语句 一.单行文本框语法格式 <input type="text" name="输入信息的名字" value="输入信息的值&qu ...

  9. javascript中无法将string转化为json对象

    在一次项目之中,我要对请求的相应做一些处理,得到的响应差不多是这中格式'{total:1,result:[{"age":1}]}'.可以看到我拿到的这个相应和JSON的格式是非常相 ...

随机推荐

  1. 使用Object类为实例定义方法和属性

    1.1 可以使用 Object 类直接定义个实例,并且为该对象赋属性和方法,例如: var person_1 = { nickName:"xiaowu", age:28, show ...

  2. vnpy交易接口学习

    1.按照github中环境准备要求,配置好环境要求. https://github.com/vnpy/vnpy mongdb安装在D:\Program Files\MongoDB\Server\3.4 ...

  3. kube-proxy详解

    KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=4"NODE_HOSTNAME="- ...

  4. <强化学习>马尔可夫决策过程MDP

    一.MDP  / NFA    :马尔可夫模型和不确定型有限状态机的不同 状态自动机:https://www.cnblogs.com/AndyEvans/p/10240790.html MDP和NFA ...

  5. Neo4j安装配置(mac)

    Neo4j安装配置(mac) 1.下载APP 注意:无需配置变量 下载地址:https://neo4j.com/download/ 2.安装程序并启动 3.创建数据库(local) 选择版本 4.启动 ...

  6. Python语言基础与应用 (P16)上机练习:基本数据类型

    本文是笔者在学习MOOC课程<Python语言基础与应用> (北京大学-陈斌)中根据上机课时的要求写下在代码 课程总链接: 中国大学MOOC B站 本节课链接 数值基本运算: 33和7+, ...

  7. MySQL各种存储引擎对比总结

    1.MyISAM 是MySQL5.5版之前默认的存储引擎,特点:数据文件和索引文件可以放置在不同的目录,平局分布IO,获得更快的速度.不支持事务,不支持外键. 2.InnoDB 是 MySQL5.5版 ...

  8. Linux&Win双系统下时间显示不正常的问题

    于近期开始研究Linux,目前用的是ubuntu.本想着用Linux搞事情,没想到却被Linux搞了. 我安装的是双系统,Linux&windows的组合.相信刚开始用双系统的小伙伴们一定会碰 ...

  9. h5-背景样式

    <style> div{ width: 100%; height: 150px; border: 1px solid red; /*overflow: scroll;*/ /*1.添加背景 ...

  10. Python笔记_第一篇_面向过程_第一部分_2.内存详解

    Python的很多教材中并没有讲内存方面的知识,但是内存的知识非常重要,对于计算机工作原理和方便理解编程语言是非常重要的,尤其是小白,因此需要把这一方面加上,能够更加深入的理解编程语言.这里引用了C语 ...