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

正文:

正则对象

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

正则表达式,又称规则表达式。(英语: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. Codeforces 1299B/1300D - Aerodynamic

    题目大意: 给定一个图形S,让这个图形任意平移,但是要保证原点(0,0)一直在它的内部或者边上 最后把它能移动到的所有位置进行拼合可以得到一个图形T 问图形S与图形T是否相似 点会按照逆时针顺序给出 ...

  2. POJ 2993:Emag eht htiw Em Pleh

    Emag eht htiw Em Pleh Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64 ...

  3. VMWare WorkStation15--Win10下开机启动虚拟机

    参考 https://www.cnblogs.com/qmfsun/p/6284236.html http://www.cnblogs.com/eliteboy/p/7838091.html VMWa ...

  4. WebSocket的简单实现&jsp

    创建一个web项目 导入依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=& ...

  5. UVALive 3704 细胞自动机 矩阵快速幂

    是时候要做做数学类的题目了 这属于比较简单的矩阵快速幂了,因为有个已知的矩阵循环的结论,所以为了节约时空,只需要保留一行即可,这个稍微有点难写,也不是难写,主要是注意细节.其他的矩阵快速幂一下即可 # ...

  6. postman问题

    问题1:postman请求出现 'SSL certificate verification' ,实际为https的问题 解决: 1)关闭fiddler 2)或在File > Settings & ...

  7. Physicoochemical|CG content|

    NCBI存在的问题: 数据用户的增长 软件开发受限 数据分析缺乏 有些传统束缚,仅用底层语言书写 Pangenome Open gene是随菌株数量增大而增大的gene,Closed gene是随菌株 ...

  8. shell 实现war包的配置更新和自动发布

    此脚本主要用来实现非maven tomcat项目的war包手动发布, 1.将测试war包上传至指定目录 2.备份目前生产代码 3.自动配置文件替换 4.新版本代码的发布 #!/bin/bash ### ...

  9. Anaconda 添加清华源与恢复默认源

    1.添加清华源 查看清华大学官方镜像源文档:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 本文基于Windows平台,首先用命令: conda ...

  10. LGOJ1264 K-联赛

    这题其实不难想到 Description link 题意太长了,概括不来,去题库里扫一眼吧(但是很好懂) Solution \[Begin\] 考虑一个事情:每一个队伍的输局是没有用的 贪心一下,让每 ...