12-01Js对象##正则表达式##
正则表达式:是一个字符一个字符的验证,通过量词验证字符串;
1、什么是RegExp?RegExp是正则表达式的缩写。RegExp 对象用于规定在文本中检索的内容。
2、定义RegExp:var +变量名=new RegExp();
3、RegExp 对象有 3 个方法:
1)test()检索字符串中的指定值,返回值是true或false.
var p1=new Reg("e");
document.write(Reg.test("welcome to China!"));
2)exec()
var p1=new Reg("e");
document.write(Reg.exec("welcome to China!"));
3) compile()
var p1=new Reg("e");
document.write(Reg.compile("welcome to China!"));
4、修饰符
1)i 执行对大小写不敏感的匹配
2)g 执行全局匹配
3)m 执行多行匹配
5、方括号(用于查找某个范围内的字符)
1)[abc] 查找方括号之间的任何字符
2)[^abc] 查找任何不在方括号之间的字符
3)[0-9] 查找任何0-9之间的数字
4)[a-z] 查找任何小写a-z之间的字符
5)[A-Z]查找任何大写A-Z之间的字符
6)[A-z] 查找任何大写A-小写z之间的字符
7)[adgk] 查找给定集合内的任何字符
8)[^adgk]查找给定集合外的任何字符
9)(red|biue|green)查找任何给定的选项
6、元字符
1)\w:查找单词字符
2)\W:查找非单词字符
3)\d:查找数字
4)\D:查找非数字字符
7、 量词
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。
n{X}匹配包含 X 个 n 的序列的字符串。
n{X,Y}匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,}匹配包含至少 X 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串。
^n匹配任何开头为 n 的字符串。
?=n匹配任何其后紧接指定字符串 n 的字符串。
?!n匹配任何其后没有紧接指定字符串 n 的字符串。
【练习题1】判断输入身份证格式是否正确
<body>
<label>请输入身份证号:</label>
<input name="" type="text" id="shenfen"/>
<input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交按钮,触发函数-->
</body>
</html>
<!--判断身份证是否输入正确-->
<script>
function test()
{
var reg=new RegExp(/^[-]{}[-|X]$/);<!--正则表达式的格式:以/^开头,以$/结尾,数字、字母范围用中括号-->
var text=document.getElementById("shenfen").value;<!--输入文本框的字符串的id跟文本框的id对应-->
//判断地区是否合法(用if...else)
if(reg.test(text))
{
alert("输入正确")
}
else
{
alert("输入错误");
}
}
</script>
验证身份证输入是否正确
效果图:

【练习题2】判断输入的邮箱格式是否正确
<body> <label>请输入您的邮箱:</label>
<input name="" type="text" id="youxiang"/>
<input name="" type="submit" value="提交2" onclick="y()" /> </body>
</html> <script>
function y()
{
var yx=new RegExp(/^[-|A-z|_]{,}@[A-z|-]{,}.(com|cn|net|org|cc)$/);
var shuru=document.getElementById("youxiang").value; <!--定义变量,调用的是整个function,,必须把变量写在function内-->
if(yx.test(shuru))<!--test正则表达式的方法-->
{
alert("zhengque");
}
else
{
alert("cuowu");
}
} </script>
验证邮箱格式是否正确
效果图:

12-01Js对象##正则表达式##的更多相关文章
- Javascript数组,String对象,Math对象,Date对象,正则表达式
标题栏的滚动<html><head><title>山西众创金融</title></head>function init(){ //1.拿到标 ...
- 2015.3.12 C#运用正则表达式点滴
Regex reg = new Regex(@"\w{1,}@\w{1,}\.(com)?(net)?"); //匹配(1个或多个)(字母或数字或下滑线)@ (1个或多个)(字母或 ...
- Day 12 字符串和正则表达式
使用正则表达式 正则表达式相关知识 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配 ...
- python学习(12)使用正则表达式
1.正则表达式知识 符号 解释 示例 说明 . 匹配任意字符 b.t 可以匹配bat / but / b#t / b1t等 \w 匹配字母/数字/下划线 b\wt 可以匹配bat / b1t / b_ ...
- 12、Java 正则表达式
简介 用来描述或者匹配一系列符合某个语句规则的字符串 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 一.正则 ...
- JavaScript对象(正则表达式,Date对象,function对象 arguments对象)
好用的技术教程:http://www.w3school.com.cn/index.html 1:正则表达式 正则表达式通常用于验证表单 定义语法为 / / 2:Date对象 var now = new ...
- asp的RegExp对象正则表达式功能用法
RegExp对象提供简单的正则表达式支持功能. RegExp对象的用法: 以下为引用的内容: Function RegExpTest(patrn, strng) Dim regEx, Match, M ...
- obj-c编程12:复制对象
好吧,上一篇我怎么也没想到会写那么多字那么少的代码,希望这一篇不会如此哦. 言归正传,对象的复制分为浅复制和深复制,前者只是复制对象的引用,当原对象的内容发生变化时,复制对象的内容也会发生变化,毕竟他 ...
- Python基础语法07--面向对象+正则表达式
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
随机推荐
- struts学习(3)
1 ognl概述 2 ognl入门案例 3 什么是值栈 (1)servlet和action区别 (2)值栈存储位置 4 如何获取值栈对象 5 值栈内部结构 6 向值栈放数据 (1)s:debug标签 ...
- 命令行下载Baiduyun files
源码 步骤1:先拿到一个插件插件地址1,插件地址2 步骤2:解压并保存 下载的文件中,包含了一个Baidu-PCS的文件夹.然后打开我们的资源管理器.将Baidu-PCS随意移动到一个文件目录下,但文 ...
- 使用Blob获取图片并二进制显示实例页面
HTML代码: <div id="forAppend" class="demo"></div> JS代码: var eleAppend ...
- 178. Rank Scores
问题描述 解决方案 select sc.Score, (select count(*) from (select distinct Score from Scores ) ds where ds.Sc ...
- PostMan使用教程(1)
Postman介绍 Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件.其主要功能包括: 模拟各种HTTP requests 从常用的 ...
- Uninstall Office 2016 for Mac
官方原文:https://support.office.com/en-us/article/Uninstall-Office-2016-for-Mac-eefa1199-5b58-43af-8a3d- ...
- php 执行结果可以直接重定向文件中
将php中的echo输出到shell上的结果,重定向到文件中. php script.php >result.txt;
- SQL Server循环插入数据
--循环执行插入10000条数据declare @ID intdeclare @eigyousyocode nvarchar(16)declare @datet datetimedeclare @pl ...
- es6基础入门变量的解构赋值
let [a, b, c] = [1, 2, 3]; let [foo, [[bar], baz]] = [1, [[2], 3]]; foo bar baz let [ , , third] = [ ...
- Azure新建的CentOS设置root账户的密码
前言:Azure在新建VM的时候的账户使用的是自定义的用户名和密码或者自定义的用户名使用公钥 1.使用自定义的用户名登录到服务器. 2.设置root的密码: sudo passwd root 3.按照 ...