正则表达式初识及简单的案例应用

正则表达式

正则表达式首先是一个表达式,有一定的规则,也叫规则表达式
  按照一定的规则来匹配字符串的这样的表达式,叫做正则表达式
正则表达式是由好多的符号组成的
作用:匹配字符串
正则表达式的符号----元字符,分为限定符

正则表达式的是应用之一是验证表单元素

元字符:
. 除了\n以外任意一个单个字符串

[ ]表示的是范围  或干掉原有正则符号的意义

[0-9] 0到9之间任意一个数字,包括0和9

[a-z] a-z任意一个小写字母
 [A-Z] 大写字母

[0-9a-zA-Z] 所有字母和数字中的一个

[0-9]{2} {}这个特殊符号前面表达式出现的次数
[0-9]{1,2} 大括号前面表达式出现最少1次 最多2次
 [a-z]{0,1} 大括号前面表达式出现0-1次

{0,1} 前面的表达式出现最少0次 最多1次 同?
 {1,}  前面表达式出现最少1次,最多无限次 同+
{0,}  前面表达式出现最少0次,最多无限次 同*

? 前面的表达式出现0到1次
 + 前面表达式出现1到无限次
 * 前面表达式出现到无限次

| 或者的意思 优先级最低

() 小括号 提升优先级 作用:分组 从最左边开始算起

\d 数字中的一个
 \D 非数字 [^0-9]非数字
 \d\D

\s 空白符
 \S 非空白符

\w 非特殊字符 _属于非特殊字符
 \W 特殊字符

^ 以什么开始^[fw1]  或 取反 [^a1d223]  [^0-9]非数字 \D
$ 以什么结束[0-9][a-z]$

^[0-9]{2,4}$-----严格匹配

[*]---干掉原有正则符号*的意义

\b 单词的边界 "what are you doing"--->what

案例1:利用正则表达式验证座机号码

请输入座机号:<input type="text" value="" id="txt">

<script>   my$("txt").onblur = function () {       var reg = /^[0-9]{3,4}[-][0-9]{7,8}$/;       if (reg.test(this.value)) {           this.style.backgroundColor = "gray";       }       else {           this.style.backgroundColor = "red";       }   }</script>

案例2:利用正则表达式验证邮箱输入形式是否正确<body>
请输入您的邮箱:<input type="text" value="" id="txt"/><script>    my$("txt").onblur = function () {        var reg = /^[0-9a-zA-Z_.-]+[@][0-9a-zA-Z]+([.][a-zA-Z]+){1,2}$/;        if (reg.test(this.value)) {            this.style.backgroundColor = "gray";        }        else {            this.style.backgroundColor = "red";        }    };</script>

案例3:用正则表达式验证注册表单
<div class="container" id="dv">    <label>Q Q</label><input type="text" id="qq"><span></span><br/>    <label>手机</label><input type="text" id="phone"><span></span><br/>    <label>邮箱</label><input type="text" id="e-mail"><span></span><br/>    <label>座机</label><input type="text" id="telephone"><span></span><br/>    <label>姓名</label><input type="text" id="fullName"><span></span><br/></div><script>    function checkInput(element,reg) {        element.onblur = function () {            if (reg.test(this.value)) {                this.nextElementSibling.innerHTML = "ok";                this.nextElementSibling.style.color = "green";            }            else {                this.nextElementSibling.innerHTML = "It‘s wrong!";                this.nextElementSibling.style.color = "red";            }        };    }    var reg1 = /^\d{6,12}$/;    checkInput(my$("qq"),reg1);    checkInput(my$("phone"),/^\d{11}$/);    checkInput(my$("e-mail"),/^[0-9a-zA-Z_.-]+[@][0-9A-Za-z]+([.][a-zA-Z]+){1,2}$/);    checkInput(my$("telephone"),/^[0-9]{3,4}[-][0-9]{7,8}$/);    checkInput(my$("fullName"),/^[\u4E00-\u9FA5]{2,6}$/);</script>
时间: 2024-11-08 13:40:30

正则表达式初识及简单的案例应用的相关文章

【初学菜鸟作--邮件服务的简单配置案例】

邮件服务器的配置以及使用 实验一:                    实验目的:简单搭建出邮件服务器并测试其可用性                    实验环境:DNS服务器一台,安装有Portfix的邮件服务器一台 实验步骤: 一.邮件的发送(SMTP) 1.在邮件服务器配置主机名,ip,并安装portfix并启动 [[email protected]~]# tail -2 /etc/sysconfig/network HOSTNAME=mail.tarena.com   [[email

Sharepoint构建轻量型应用之InfoPath的简单应用案例!

1.   很遗憾,在office 2016 版本中已经将表单功能移除,office 2013 版本已经成了infopath 绝唱,所以我们必须安装office 2013 版本的office Professional plus来完成我们的表单组件安装: 2.   点开infopath Deisgner,我们可以看到可以创建的组件: 3.   这里我们可以创建多种表单,我们这次做一个简单的案例,建立一个标准的空白表单后点击设计后进入到相应的表单设计界面,我们先设计好整个页面的布局: 4.   基于简

_00019 Storm的体系结构介绍以及Storm入门案例(官网上的简单Java案例)

博文作者:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! qq交流群:214293307  (期待与你一起学习,共同进步) # Storm

jquery,tree无限级树形菜单+简单实用案例

jquery,tree无限级树形菜单+简单实用案例 我在项目中用到产品类别的树形.各种地方都要用. 我就封装起来,方便以后调用. 记录下来,希望给新手们提供帮助.要记得导入jquery.js  tree.js 哦 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri=&quo

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView

iOS流布局UICollectionView系列一--初识与简单使用UICollectionView 一.简介 UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似.简单来说,UICollectionView是比UITbleView更加强大的一个UI控件,有如下几个方面: 1.支持水平和垂直两种方向的布局 2.通过layout配置方式进行布局 3.类似于TableView中的cell特性外,Collecti

springcloud+eureka简单入门案例

springcloud+eureka简单入门案例 一.服务提供者 直接提供服务,入门案例没有特别要设置的地方,注意下端口,由于要启动多个服务,可能会冲突 配置文件(src/main/resources/application.yml) server: port: 8000 二.服务消费者 服务消费者的依赖在这个单独的demo中其实可有可无,亲测不添加,也可以实现demo服务提供能 三.服务消费者启动类里注入RestTemplate,用于调用远程服务 import org.springframew

join连接的五种方式的简单使用案例(Inner join,Left join,Right join

1.内连接Inner join 内连接是基于连接谓词将俩张表(如A和B)的列组合到一起产生新的结果表 ,在表中存在至少一个匹配时,INNER JOIN 关键字返回行.  下面是一个简单的使用案例  以下是运行代码及结果  2.左外连接Left join 左外连接Left join关键字会从左表那里返回所有的行,即使是在右表中没有匹配到的行  下面是一个简单的案例  下面是测试用例  3.右外连接Right join 右外连接关键字Right join会从右表那里返回所有的行,即使是在左表中没有匹

正则表达式结合实例简单梳理

正则表达式在所有语言中都是通用的,它使用一种特定的规则来匹配一个字符串,当满足这个规则,就认为此字符串匹配成功.结合各个语言中的不同方法,可以返回匹配成功true.false或者匹配的字符串等. 本文对正则表达式做一个简单的知识梳理,结合一些小例子来加深印象. 正则表达式的验证方法现在也多种多样,在这里就不推荐了,大家选择适合自己用得惯的就好. 常用元字符 既然是特定的规则,那么在正则表达式中就有相对应的特殊符号,你不用去记它的名字是什么,只需要知道它做了什么. . 匹配除换行符以外的任意字符

Python正则表达式初识(十)附正则表达式总结

今天分享正则表达式最后一个特殊字符"\d",具体的教程如下. 1.特殊字符"\d"十分常用,其代表的意思是数字.代码演示如下图所示. 其中"+"的意思是表示连续,在这里代表的意思是连续的数字.但是输出只有"4"这个字符,原因是贪婪模式所致,在上一篇文章中也有提及. 2.如果想要匹配"2004",则需要加个特殊字符"?",如下图所示. 此时是非贪婪模式,匹配从前往后进行,且匹配连续的数字,