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

正文:

正则对象

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

正则表达式,又称规则表达式。(英语: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. python爬取招聘网站数据

    # -*- coding: utf-8 -*- # 爬虫分析 from bs4 import BeautifulSoup from lxml import etree from selenium im ...

  2. 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量

    题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...

  3. kube-proxy详解

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

  4. Codeforces Round #594 (Div. 1) Ivan the Fool and the Probability Theory

    题意:给你一个NxM的图,让你求有多少符合 “一个格子最多只有一个同颜色邻居”的图? 题解:首先我们可以分析一维,很容易就可以知道这是一个斐波那契计数 因为dp[1][m]可以是dp[1][m-1]添 ...

  5. 给rar文件加个自定义头

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  6. (转)Java中的容器详细总结

    Java中的容器详细总结(编辑中) 原文链接:http://anxpp.com/index.php/archives/656/ 注:本文基于 Jdk1.8 编写 通常程序总是根据运行时才知道的某些条件 ...

  7. 新浪sae url rewrite(伪静态、重定向)详解

    新浪sae url rewrite(伪静态.重定向)详解 http://www.veryhuo.com phpclubs 2011-11-14 投递稿件 sae全程Sina App Engine,真是 ...

  8. centos rpm安装jdk1.8

    1.官网下载jdk的rpm文件(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) ...

  9. 双向链表的双向冒泡排序 c++

    #include<iostream> using namespace std; #define swap(a,b) {int t;t = a;a = b;b = t;} //节点类型的定义 ...

  10. Java连载71-二分查找和Arrays工具类

    一.二分法查找 1.二分法查找是建立在已经排序的基础之上的 2.程序分析是从下到大​排序. 3.这个数组中没有重复的元素​. package com.bjpowernode.java_learning ...