JavaScript正则表达式以及字符串处理
正则表达式之基本概念
在我们写页面时,往往需要对表单的数据比如账号、身份证号等进行验证,而最有效的、用的最多的便是使用正则表达式来验证。那什么是正则表达式呢?
正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。 它的应用非常广泛,特别是在字符串处理方面。其常见的应用如下:
- 验证字符串,即验证给定的字符串或子字符串是否符合指定的特征,例如,验证是否是合法的邮件地址、验证是否是合法的HTTP地址等等。
- 查找字符串,从给定的文本当中查找符合指定特征的字符串,这样比查找固定字符串更加灵活。
- 替换字符串,即查找到符合某特征的字符串之后将之替换。
- 提取字符串,即从给定的字符串中提取符合指定特征的子字符串。
字符串处理方法
search() 查找存在返回字符串的索引位置,不存在返回-1。
substring(1,2) 不包含结束位置。截取之间的字符串。
substring(1) 截取后面所有的字符串。
charAt() 返回索引位置, 获取某个位置。
lastindexOf() 返回最后一个字符串的索引位置。
index() 返回一个字符串第一个次出现的索引位置,如果存在返回索引位置,不存在返回-1.
split() 分割字符串,返回数组。
replace() 替换字符串
量词
{n} 正好n次
{n,} n次或多次
{n,m} 至少n次,最多m次
+ 一次或多次
? 0次或1次
* 任意次
^ 开始位置
$ 结束位置
转义字符
\d[0-9] 数字
\w 数字,字母,下划线
\s 空白字符
. 任意字符
正则的例子,从字符串中提取数字
<!DOCTYPE >
<html>
<title>index</title>
<head>
<meta charset="utf-8" />
</head>
<script>
//i代表忽略大小写. //g代表全部字符
var str='fsadsdfdfaafsdg3546846464987986';
var re= /\d+A/g;
//match()方法把所有匹配的东西,全部提取出来.
alert(str.match(re))
</script>
<body>
<p></p>
</body>
</html>
JavaScript正则表达式以及字符串处理的更多相关文章
- javascript正则表达式和字符串RegExp
这篇文章主要介绍了javascript正则表达式和字符串RegExp and String(一)的相关资料,需要的朋友可以参考下 前言 正则表达式是javascript非常重要和常用的 ...
- JavaScript 正则表达式:字符串中查找数字
以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字.replace() 方法的第二个参数为一个函数,返回找到数字的两倍值. <scri ...
- javascript正则表达式替换字符串
var reg = /^per_list(.*)[\d]{1,}(.*)/;var str = "per_listAmtApril1.value";var replaceStr = ...
- JavaScript 正则表达式RegExp 和字符串本身的正则表达式
JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- 【JS】javascript 正则表达式 大全 总结
javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...
- 理清JavaScript正则表达式--上篇
在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...
- 理清JavaScript正则表达式--下篇
紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
随机推荐
- Mysql 通信协议抓包分析
mysql在传输层使用的TCP协议.一个TCP payload可能有多个mysql packet.如下图所示. TCP head TCP payload (mysql packet1, mysql p ...
- ionic cordova platform --help
ionic platform add android 给我报这个问题,不理解 The platform command has been renamed. To find out more, run: ...
- java架构师之路--推荐书籍
1.大型网站技术架构:核心原理与案例分析 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选 ...
- verilog代码 想法验证---与寄存器输出有关
verilog代码 想法验证---与寄存器输出有关 1. module test_mind( input wire clk, input wire reset, input wire i, outpu ...
- windows下安装redis以及测试 --转载自http://www.cnblogs.com/lpyan/p/5608333.html
redis加入到Windows 服务 以下方式,需要在redis-2.8.24下执行:http://download.csdn.net/download/feiliua/9425770 ,另外php的 ...
- Docker Compose 配置文件详解
先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说: version: '2' services: web: image: dockercloud/he ...
- AS3 内存基础
1:获取一个对象的字节数: var str:String="ddd啊"; var byte:ByteArray=new ByteArray(); byte.writeMultiBy ...
- 易出错的bug避免
1:for(var i:int=0;i<p.numChildren;i++) { p.removeChildAt(i); } 或 for(var i:int=0;i& ...
- bzoj4020: 未来程序·改
只需写一个解释器 第一次预处理将输入进行分词,分割出 关键字,运算符,变量/函数名,整数常量,并对变量/函数名离散化以便处理 第二次预处理建语法树,每个节点存节点类型,变量定义表等信息 运行时在语法树 ...
- Java学习——读写txt文件
package HHH; import java.io.*; import static java.lang.System.out; public class OpenFile { public st ...