对文本数据进行操作是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. linux+win7双系统重装win7修复grub的办法

    本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友! 首 ...

  2. 2017中南大学暑期集训day1 : debug&STL-A

    A - Surprising Strings 题意就是给你一个字符串,例如ZGBG,有一种称谓叫D-unique 这个字符串 在D=0时, 有三个子串 ZG GB BG,因为这三个都不同,也就是uni ...

  3. tensorflow-gpu 使用的常见错误

    这篇博客会不定期整理我在 tensorflow 中出现的问题和坑. 1. CUDA_ERROR_OUT_OF_MEMORY: tensorflow 在执行过程中会默认使用全部的 GPU 内存,给系统保 ...

  4. DP(悬线法)+二维前缀和【p2706】巧克力

    Background 王7的生日到了,他的弟弟准备送他巧克力. Description 有一个被分成n*m格的巧克力盒,在(i,j)的位置上有a[i,j]块巧克力.就在送出它的前一天晚上,有老鼠夜袭巧 ...

  5. 优先队列priority_queue

    优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素.但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队.这点类似于给队列 ...

  6. [BZOJ 1499] 瑰丽华尔兹

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1499 Solution : 能立即发现这是和动态规划相关的题目 令f[t][i][j]表 ...

  7. 北京DAY1下午

    省选模拟题 周子凯 题目概况 中文题目名 简易比特币 计算 路径 英文题目名 bit calculation Path 输入文件名 bit.in calculation.in path.in 输出文件 ...

  8. 1.1(学习笔记)JSP(Java Server Pages)基础(脚本元素、指令元素)

    一.JSP简介 JSP全称为Java Server Pages,是一种动态网页开发技术,可以在HTML界面中嵌入java代码, 实现动态的提供数据.访问JSP时服务器会将JSP翻译成Servlet,访 ...

  9. jdk8新特性

    JDK8新特性(JDK8的新特性) * 接口中可以定义有方法体的方法,如果是非静态,必须用default修饰 * 如果是静态的就不用了 class Test { public void run() { ...

  10. Matlab与神经网络入门

    第一节.神经网络基本原理  1. 人工神经元( Artificial Neuron )模型  人工神经元是神经网络的基本元素,其原理可以用下图表示: 图1. 人工神经元模型 图中x1~xn是从其他神经 ...