对文本数据进行操作是JavaScript中常见的任务。正則表達式通过同意程序猿指定字符串匹配的模式来简化诸如验证表单中输入是否具有正确格式之类的任务。

1.正則表達式标记:


字符

含义

举例

i

大写和小写不敏感

对于模式/http/i  “http” 和“HttP” 一样能够匹配

g

全局匹配。找出所有匹配字符串,而不不过找到第一个就返回。

经常使用于替换

m

多行匹配


2.正則表達式位置指示符:规定模式在它所匹配的字符串里的位置。


字符

含义

举例

^

开头

对于/^http/ 仅仅匹配以http开头的字符串

$

结束

对于/http$/ 仅仅匹配以http结尾的字符串

能够同一时候使用这两个位置指示符来确保精确的匹配给定的模式,如:/^http$/ 将仅仅匹配http。

3.转义码:

代码

含义

\f

换页

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

\/

正斜杠

\\

反斜杠

\OOO

八进制值OOO代表的ASCII字符

\xHH

十六进制HH代表的ASCII字符

\uHHHH

十六进制HHHH代表的Unicode字符

\cX

由^X代表的控制字符,如:\cH代表Ctrl+H

\各种标点符号、运算符号、括弧等

各种标点符号、运算符号、括弧等

用在正則表達式中的转义码是用在字符串中的转义码的超集(在正則表達式中有非常多带特殊含义的字符如^和$等)。

4.详细实例

<script language="javascript" type="text/javascript">
//以XXX开头
var reg=/^中/g;//定义以中字开头的表达式
var str="中国万岁,我爱中国!";
str=str.replace(reg,"棕");
alert(str); //以XXX结尾
var reg=/t$/g;
var str="good foot got makt thinkt";
str=str.replace(reg,"W");
alert(str); //表示随意字符
var reg=/想.想/g;
var str="想一想,看一看,想啊想啊想啊想";
var found=str.match(reg);
alert(found); //字符集[...] 多选一 [^...]一个都不能选
var reg=/g[eo]t/g;
var str="get getloooot geeeet";
var found=str.match(reg);
alert(str); //数字/d
var reg=/\d\d\d/g;
var str="976,2323,222222,2222";
var found =str.match(reg);
alert(found); //test ||
var reg=/\d\d\d/g;
var str="976,2323,222222,2222";
var t=reg.test(str);
alert(t); //规定仅仅能输字符的位数
//\d{n}:n个数字
//\d{n,m}:n-m个数字
//\w{n,}:n个字符以上
var reg=/^\d{3}$/g;//仅仅能输入3位
var str="234234";
var t=reg.test(str);
if(t)
{
alert("验证通过!");
}
else
{
alert("验证未通过");
} //仅仅能一个字符或者没有字符:?
var reg=/12?3/g;//2可有也可没有
var str="12f3,123,12345,13";
var found=str.match(reg);
alert(found);<span style="white-space:pre"> //从a-z的全部字母
<span style="white-space:pre"> </span>//[0-9]的全部数字
<span style="white-space:pre"> </span>var reg=/^[a-z]$/gi;
<span style="white-space:pre"> </span>var str="g";
<span style="white-space:pre"> </span>var t=reg.test(str);
<span style="white-space:pre"> </span>if(t)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>alert("验证通过!");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>alert("验证未通过");
<span style="white-space:pre"> </span>} </span>
</script>

javascript中的正則表達式的更多相关文章

  1. hive中使用正則表達式不当导致执行奇慢无比

    业务保障部有一个需求,须要用hive实时计算上一小时的数据.比方如今是12点,我须要计算11点的数据,并且必须在1小时之后执行出来.可是他们用hive实现的时候发现就单个map任务执行都超过了1小时, ...

  2. C++ Tr1中的正則表達式

    要使用正則表達式,首先要有类库支持,C++曾经不像Java或者C#有完整的类库使用,可是在Tr1中早已提供了正则库,仅仅是非常少被人们注意罢了 TR1中包括了一个正则库,来自Boost的 regex, ...

  3. vim中使用正則表達式

    一.使用正則表達式的命令 使用正則表達式的命令最常见的就是 / (搜索)命令. 其格式例如以下: /正則表達式 还有一个非常实用的命令就是 :s(替换)命令,将第一个//之间的正則表達式替换成第二个/ ...

  4. 对于C11中的正則表達式的使用

    Regular Expression Special Characters "."---Any single character(a "wildcard") & ...

  5. JavaScript使用正則表達式

    2.0 简单介绍 正則表達式是能够用来查找与给定模式匹配的文本的搜索模式.比如,在上一章中,我们在一个较长的字符串中查找子字符串Cookbook: var testValue = "This ...

  6. JavaScript正則表達式知识汇总

    Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegE ...

  7. 使用正則表達式的格式化与高亮显示json字符串

    使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...

  8. JAVA中正則表達式总结

    昨天,我的朋友请教我正則表達式.我也好久没有写过正則表達式了,昨天刚好看了下如鹏网创始人杨中科老师关于正則表達式的解说.使我加深了正則表達式的印像.现我把他总结下: 很多语言,包含Perl.PHP.P ...

  9. 7.4 Javascript:表单验证-揭开正則表達式的面纱

    用元字符匹配对应的字符类型 创建正則表達式有点像创建字符串字面量,仅仅只是正則表達式出如今一对"/"里 正則表達式中会用到一级元字符.用于连接字母与数字 "." ...

随机推荐

  1. [libgdx游戏开发教程]使用Libgdx进行游戏开发(3)-给游戏添加一些控制功能

    每个游戏中都有一些只有程序员自己才知道的控制功能,比如增加金钱,满血复活,无视防御,不死等等. 都是为了方便自己调试而在测试阶段使用的功能. 正如上一章提到的:我们也需要加些只有程序员才知道的控制功能 ...

  2. 实例教程:1小时学会Python(转)

    1 序言 面向读者 本文适合有经验的程序员尽快进入Python2.x世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序. Pyt ...

  3. NYOJ 6.喷水装置(一)-贪心

    喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以 ...

  4. CF 1005C Summarize to the Power of Two 【hash/STL-map】

    A sequence a1,a2,-,an is called good if, for each element ai, there exists an element aj (i≠j) such ...

  5. 学懂grid布局:这篇就够了(译)

    上周发过一篇关于flex布局的文章,但发完之后我感觉我并没有写很多自己对flex布局的理解,因为原链接的作者的轮子实在是太强了,这里借用知乎大佬牛岱的话来说,当人家已经有足够好的轮子,你就不要试图,甚 ...

  6. 训练指南 UVALive - 4043(二分图匹配 + KM算法)

    layout: post title: 训练指南 UVALive - 4043(二分图匹配 + KM算法) author: "luowentaoaa" catalog: true ...

  7. 5、Flask实战第5天:页面跳转和重定向

    GET和POST请求 在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST GET 只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推 ...

  8. PHP Shell生成工具Weevely

    PHP Shell生成工具Weevely   Weevely是一款模拟Telnet连接的PHP Shell工具.它不提供网页形式的接口,而是提供一个命令形式的终端.渗透测试人员首先使用该工具生成对应的 ...

  9. 【set】bzoj2761 [JLOI2011]不重复数字

    set去重. #include<cstdio> #include<set> using namespace std; set<int>S; ],b[],en; in ...

  10. log4j在Web项目中的使用

    导入log4j的jar包 在web.xml上配置如下:   <!-- 配置log4j begin -->   <context-param>     <param-nam ...