对文本数据进行操作是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. 有向图强连通分量的Tarjan算法及模板

    [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强联通(strongly connected),如果有向图G的每两个顶点都强联通,称有向图G是一个强联通图.非强联通图有向 ...

  2. AHOI2009中国象棋

    首先以行为阶段,根据象棋的规则,在同一行中,至多只能有两个炮,同理:在同一列中,至多只能有两个炮思考一个可以覆盖整个状态空间的dp数组:dp[i]表示到了第i行接下来我们想:某列中的炮能否通过位运算求 ...

  3. Codeforces 855E - Salazar Slytherin's Locket

    855E - Salazar Slytherin's Locket 题意 给出一个区间,问这个区间内有多少个数满足,将这个数转化为某个进制后,所有数的数量都为偶数. 分析 谁能想到 数位DP 的裸题竟 ...

  4. 【动态规划】UVALive - 4888 - Railroad

    f(i,j)表示从A序列前面取i个,从B序列前面取j个时,能否拼成C序列.转移自行脑补. A train yard is a complex series of railroad tracks for ...

  5. 【暴力】UVALive - 4882 - Parenthesis

    就不断地扫整个序列,如果发现多余的括号就删除.大概复杂度还是O(n²)左右.如何判断不合法请详见代码. To a computer, there is no difference between th ...

  6. 【树链剖分/线段树】BZOJ1036-[ZJOI2008]树的统计Count

    [题目大意] 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX ...

  7. python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

    ''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...

  8. 统计正数和负数的个数,然后计算这些数的平均值 Exercise05_01

    import java.util.Scanner; /** * @author 冰樱梦 * * */ public class Exercise05_01{ public static void ma ...

  9. FCL研究-目录

    准备深入的学习下 FCL,太过于庞大,有些无从下口.用最笨的方法,先从常用的几个命名空间入手. 微软发布了.NET 的源码,学习起来更加方便了. 集合 导航: FCL研究-集合- System.Col ...

  10. 微信小程序API·目录

    网络 媒体 文件 数据缓存 位置 设备 界面 第三方平台 开放接口 数据 更新 多线程 监控 调试接口 日志