JavaSricpt 的正则表达式 ,正则表达式是由一个字符序列形成的搜索模式。具体可参考: http://www.runoob.com/js/js-regexp.html

JavaSricpt 的正则表达式

正则表达式的语法:

语法:/正则表达式主体/修饰符(其中修饰符号可选)

举例:var patt = /runoob/i实例解析:

/runoob/i 是一个正则表达式。

runoob 是一个正则表达式主体 (用于检索)。

i 是一个修饰符 (搜索不区分大小写)。

1、字符串的处理方法:

JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

练习:

search() 方法:

点我

I'm Chenqing

function myFunction() {

var file = document.getElementById('demo').innerHTML;

var text = file.search(/qing/i);

document.getElementById('demo').innerHTML = text;

}

效果:

replace()方法:

点我

I'm Chenqing

function myFunction() {

var file = document.getElementById('demo').innerHTML;

var text = file.replace(/qing/i,'Qing');

document.getElementById('demo').innerHTML = text;

}

效果:

2、RegExp 对象(重点)

RegExp 对象是一个预定义了属性和方法的正则表达式对象。

test() 方法是一个正则表达式方法。用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。通常用来判断字符串的正则。

exec() 方法是一个正则表达式方法。用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。通常用来获取匹配的数据。

练习:

test() 方法:

匹配数字:

>rep = /\d+/;

>rep.test("fasf");

false

>rep.test("fas123");

true

匹配字符串全部为数字

>rep = /^\d+$/;

>rep.test('fadfad123');

false

>rep.test('123');

true

判断字符串末端为数字

>rep = /\d+$/;

>rep.test('fadfad');

false

>rep.test('fadf123');

true

exec() 方法:

>str1 = "wangsen7 hongyang9 wangjun8 wangbafafasfasdfa0fafa"

>var patten = /\bwang(\w*)\b/

>patten.exec(str1)

>str2 = "JavaScript Begin learning in your first Java surrounded by Script, and name JavaEnd。" ;

>var patten1 = /\bJava(\w*)\b/;

>patten1.exec(str2)[0]

"JavaScript"

>patten1.exec(str2)[1]

"Script"

>var patten2 = /\bJava\w*\b/g;

>patten2.exec(str2)

>var patten3 = /\bJava(\w*)\b/g;

>patten3.exec(str2)[0]

3、案例

实例案例:后台表单设计

Title

学生信息管理

学生编号:(8位数字)

学生名字:(中文)

邮箱地址:

电话号码:

/*是否带有小数*/

function isDecimal(strValue ) {

var objRegExp= /^\d+\.\d+$/;

return objRegExp.test(strValue);

}

/*校验是否中文名称组成 */

function ischina(str) {

var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/

return reg.test(str); /*进行验证*/

}

/*校验是否全由8位数字组成 */

function isStudentNo(str) {

var reg=/^[0-9]{8}$/; /*定义验证表达式*/

return reg.test(str); /*进行验证*/

}

/*校验电话码格式 */

function isTelCode(str) {

var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;

return reg.test(str);

}

/*校验邮件地址是否合法 */

function IsEmail(str) {

var reg=/^[a-zA-Z0-9]+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;

return reg.test(str);

}

function fun1(){

if(!isStudentNo(document.getElementById("sno").value)){

alert("学生编号是8位数字");

document.getElementById("sno").focus();

return false;

}

if(!ischina(document.getElementById("username").value)){

alert("学生姓名必须填写中文");

document.getElementById("username").focus();

return false;

}

if(!IsEmail(document.getElementById("email").value)){

alert("邮箱地址错误");

document.getElementById("email").focus();

return false;

}

if(!isTelCode(document.getElementById("tel").value)){

alert("电话号码不对");

document.getElementById("tel").focus();

return false;

}

/*运行到这里说明验证通过返回true submit提交按钮起作用提交表单*/

alert("提交成功");

return true; // 这边设置禁止提交,实际项目需要改为 true

}

效果:

java cpt_1、第十 - WEB开发进阶 - JavaSricpt 正则表达式相关推荐

  1. [转载] Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程

    参考链接: 在Python中创建代理Web服务器 2 Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python We ...

  2. .NET、JAVA和PHP在Web开发的优缺点

    .NET.JAVA和PHP在Web开发的优缺点 现在做Web开发,用哪个平台哪种语言其实本质上没有太大的区别,因为Web开发框架已经非常成熟,只要符合需求,能按时交付产品就ok了. 要选择哪个平台,是 ...

  3. java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...

    ---------------------------------------------------------------------------------------------------- ...

  4. java session原理_java web开发—session的工作原理总结

    session的工作原理总结 一.什么是session session是一次浏览器和服务器交互的会话,在jsp中,作为一个内置对象存在.我的理解,就是当用户打开网页时,程序会在浏览器中开辟一段空间来存 ...

  5. java 高性能web_高性能WEB开发 - BearRui(AK-47) 的Blog - BlogJava

    高性能WEB开发 摘要: 用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:DIV#divBox p span.red{color:red;},按习惯我 ...

  6. web开发的java语言步骤_java web开发入门一(servlet和jsp)基于eclispe

    servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...

  7. clojure java.jdbc_Clojure驱动的Web开发

    Clojure是运行在JVM之上的Lisp方言,提供了强大的函数式编程的支持.由于Java语言进化的缓慢,用Java编写大型应用程序时,代码往往十分臃肿,许多语言如Groovy.Scala等都把自身设 ...

  8. java中文乱码decode_Java WEB开发中的中文乱码问题解决

    在项目中总是遇到乱码问题,有时候在网上查找到了解决方案,但是没有记录下来为什么出现的乱码.因为出现乱码的方式有好几种,我简单总结一下吧,为以后留着用,也算总结学习一下. 一般来讲,为了处理乱码问题,在 ...

  9. python视频教程410集免费_Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程...

    [第98讲]1_概述--介绍Django和它的基础依赖项v2_rec.mkv [第91讲]Lesson2_Memcached解析_rec.mkv [第8讲]8-测试数据类型_rec.mkv [第76讲 ...

  10. go实践二十 web开发--表单唯一token 表单验证 防止xss攻击 上传文件 cookie处理

    新建一个 testform2.gtpl 文件,内容如下: <!doctype html> <html lang="en"> <head>< ...

最新文章

  1. Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?
  2. python 数据分析学什么-学好python和数据分析有什么关系?
  3. SAP Client Copy 过程
  4. v-contextmenu的使用(右键菜单)
  5. mysql怎样实现先判断后联合_MYSQ创建联合索引,字段的先后顺序,对查询的影响分析...
  6. mysql source导入慢,MySQL mysqldump与source导入慢怎么解决
  7. [再学Python] - 4 - 循环
  8. cd40系列芯片_IC集成电路型号大全及40系列芯片功能大全
  9. Maven安装配置及在idea中配置
  10. IDL学习——调用enviTask对高分2号影像进行预处理
  11. 计算某个日期到今天的天数
  12. 暴走湖北五城,聊聊我的湖北印象
  13. K8s 开先河、技能全栈、业务“无感”,深度解读云原生的这一年
  14. 爬虫之使用阿布云伪装IP
  15. 软件测试显卡最高清晰度,硬件碾压机再临? GTA5显卡性能全测试
  16. 网络安全技术第八章——虚拟专用网络
  17. win7计算机剩余空间,WIN7 C盘空间越来越小解决方法
  18. Adobe Audition将音频转化为PCM
  19. springboot项目使用advice做统一返回
  20. 互联网宝宝扩容,移动端成新战场

热门文章

  1. 62.Linux/Unix 系统编程手册(下) -- 终端
  2. 15.TCP/IP 详解卷1 --- TFTP:简单文件传送协议
  3. 18.Argument replacement
  4. 26. 面向对象程序设计
  5. 计算机三级下一跳地址,计算机网络——路由表和通过子网掩码计算转发的目的地址...
  6. android自定义application,Android Test Orchestrator和自定义Application类
  7. Docker逐渐火起来了,收集了一些这方面的书
  8. PHP学习记录(一)
  9. 带标签的 break 和 continue (Java)
  10. IBM服务器诊断面板