js课程 4-12 js中正则表达式如何使用

一、总结

一句话总结:

1、js正则表达式手册取哪里找?

w3cschool或者菜鸟教程->找到js正则表达式->完整的RegExp参考手册
这手册上面的资料并不是特别全,比如向后引用就没有

2、js中支持正则表达式的String对象的方法有几个?

只有四个,只有四个

方法 描述 FF IE
search 检索与正则表达式相匹配的值。 1 4
match 找到一个或多个正则表达式的匹配。 1 4
replace 替换与正则表达式匹配的子串。 1 4
split 把字符串分割为字符串数组。 1 4

3、正则修饰符中的m有什么用?

执行多行匹配,也就是把一行里面带\n的看做多行,用于比如取每行的行首这样的操作。

26 str='linux and php and 2 and 3 and 20 and linkx and\nlinox and linax and LINUX and Php and paaaaaaaaaaap and pbp is andp2p and\nlinxx is lamp and p3p';
27
28 arr=str.match(/^lin.x/igm);
29
30 alert(arr);

4、正则总共有哪三类东西?

a、元字符
b、量词
c、修饰符

5、\b单词边界是什么意思?

单词边界一般是空格换行,加了单词边界就能匹配到哪些单词

6、匹配中文字符用什么?

\u***到\u***

\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

7、.*和.*?的区别是什么,php中什么修饰符实现这样加?的功能?

.* 匹配很多
.*? 精确匹配
php中可以用?号,也可以用修饰符u

8、js中正则中的向后引用怎么使用?

正则表达式加圆括号分组,后面用$加数字取分组

二、js中正则表达式如何使用

1、相关知识

正则表达式:
1.修饰词
i 忽略大小写
g 全部匹配
m 把\n识别为多行

2.中括号
[abc] 中括号中的任意一个字符
[^abc] 除了中括号中的任意一个字符
(linux)|(php) 1.linux或php单词 2.可实现向后引用$1(replace替换时)

3.元字符
.  任意一个字符
\w 任意一个字母、数字或下划线
\W 任意一个非字线、数字和下划线
\d 任意一个数字
\D 任意一个非数字
\s 任意一个空格
\S 任意一个非空格
\b 单词边界
\B 非单词边界
\n 代表换行符

4.量词
+ 1个或多个
* 任意多个
? 1个或0个
{3} 3个
{3,5} 3个到5个
{3,} 3个以上
^ 行首
$ 行末
?=a 后面紧挨a的
?!a 后面不紧挨a的

4.js中使用正则的字符串对象的方法
search();
match();
replace();
split();

5.正则实例
1)匹配以139开头的电话号码
2)匹配邮箱格式
3)高级替换功能

 

2、代码

m可以把反斜线n识别为多行

 <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<style>
*{
font-family: 微软雅黑;
}
.hcls{
background: #ccc;
} .hcls:hover,h2:hover{
background: #999;
} </style>
</head>
<body>
<h1>aaaaaaaaaaaaaaaaaa</h1>
</body>
<script>
//正则表达式 str='linux and php and 2 and 3 and 20 and linkx and\nlinox and linax and LINUX and Php and paaaaaaaaaaap and pbp is andp2p and\nlinxx is lamp and p3p'; arr=str.match(/^lin.x/igm); alert(arr);
</script>
</html>

$向后引用实现高级替换

 <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<style>
*{
font-family: 微软雅黑;
}
.hcls{
background: #ccc;
} .hcls:hover,h2:hover{
background: #999;
} </style>
</head>
<body>
<h1>aaaaaaaaaaaaaaaaaa</h1>
</body>
<script>
//正则表达式 date='2016/05/11';
//2016-05-11 time=date.replace(/(\d+)\/(\d+)\/(\d+)/g,'$1-$2-$3'); alert(time);
</script>
</html>
 

js课程 4-12 js中正则表达式如何使用的更多相关文章

  1. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  2. js课程 1-2 js概念

    js课程 1-2  js概念 一.总结 一句话总结:js标签元素也是js对象,有属性和方法,方法就是事件,属性就是标签属性,可以直接调用. 1.js中如何获取标签对象? getElement获取的是标 ...

  3. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  4. JavaScript学习12 JS中定义对象的几种方式【转】

    avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...

  5. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  6. JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\)

    JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\) 一.总结 js正则:var patrn=/^[0-9]{1,20}$/; php正则:$pattern='/ ...

  7. vue.js+webpack在一个简单实例中的使用过程demo

    这里主要记录vue.js+webpack在一个简单实例中的使用过程 说明:本次搭建基于Win 7平台 Node.js 安装官网提供了支持多种平台的的LTS版本下载,我们根据需要来进行下载安装.对于Wi ...

  8. js课程 4-11 表格如何实现隔行换色

    js课程 4-11 表格如何实现隔行换色 一.总结 一句话总结:表格奇数行和偶数行判断,赋予不同的样式. 1.表格如何隔行换色? 表格奇数行和偶数行判断,赋予不同的样式. 21 <script& ...

  9. js课程 3-9 js内置对象定时器和超时器怎么使用

    js课程 3-9 js内置对象定时器和超时器怎么使用 一.总结 一句话总结:定时器:    1.定义    sobj=setInterval(func,1000);        2.清除    cl ...

随机推荐

  1. PhoneGap/Cordova Android应用签名公布注意事项

    今天最终要公布Android HybirdApp了,安装曾经做原生应用的流程公布签名Apk,没想到立即遇到了几个问题.如今把它们的解决的方法整理下来. export signed Apk 遇到以下错误 ...

  2. [ Javascript ] JavaScript中的定时器(Timer) 是怎样工作的!

    作为入门者来说.了解JavaScript中timer的工作方式是非常重要的.通常它们的表现行为并非那么地直观,而这是由于它们都处在一个单一线程中.让我们先来看一看三个用来创建以及操作timer的函数. ...

  3. Impala SQL

    不多说,直接上干货! 其实,跟hive差不多,大家可以去参考我写的hive学习概念系列. Impala SQL VS HiveQL 下面是Impala对基础数据类型和扩展数据类型的支持 • 此外,Im ...

  4. Kinect 开发 —— 用户交互设计的若干思考

    Metro 风格 windows 8 Kinect Hub 手势原型设计 悬停选择     翻页控制 关节点重叠的处理方法 将箭靶设置在画面的边缘,这样玩家持弓的角度与屏幕保持一个大约45度的锐角,这 ...

  5. IDLE的自动补全功能

    IDLE的自动补全功能位于:Edit→Show Completions,但每次需要补全的时候都需要点击一次,虽然IDLE提供了一个快捷键(Ctrl + Space),但实测无效.具体操作如下图

  6. Mysql学习总结(18)——Mysql主从架构的复制原理及配置详解

    一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  7. Mybatis 一对多 多对1

    http://blog.csdn.net/z69183787/article/details/46833565 http://blog.csdn.net/rain097790/article/deta ...

  8. C++的class的样例

    私有就是仅仅可以通过内部调用,在类外面是不可以使用私有成员的 简单的写一个  Class A {  public:    //你能够通过公有的函数去訪问私有成员    Demo()   //能够在这使 ...

  9. 通过OpenSSL解析X509证书基本项

    在之前的文章"通过OpenSSL解码X509证书文件"里.讲述了怎样使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法. 以下我们接着讲述怎样通过证书上下文结构体 ...

  10. 非对称算法,散列(Hash)以及证书的那些事

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/35389657 作者:小马 这几个概念在金融电子支付领域用得比較多,我忽然认为把它们 ...