javascript_core_05之正则表达式
1、 检索关键词:
①检索固定关键词的位置:
var i=str.indexOf(“关键词”,fromi);在str中查找fromi位置后,下一个关键词的下标位置;省略fromi,从0开始;
var i=str.lastIndexOf(“关键词”,fromi);在str中查找fromi位置前,上一个关键词的下标位置;省略fromi从末尾开始;
②判断是否包含符合规则的关键词:
var i=str.search(/正则表达式/);找到返回下标,未找到返回-1;

2、正则表达式:
最简单的正则表达式就是关键词原文;
字符集:【字符列表】①一位字母:【A-Za-z】;②一位数字:【0-9】或者\d;③一位汉字:【\u4e00-\u9fa5】;④除了XX:【^XX】;⑤一位数字,字母,下划线:\w ó【0-9A-Za-z_】;⑥一位空字符,空格,换行,Tab:\s;⑦一位任意字符:.;
3、正则量词:
①{m,n}:至少m个,最多n个;②{m,}:m个以上;③{m}:必须m个;④?:0或1个;⑤*:0个或以上不限;⑥+:1个或以上不限;
4、正则选择,分组:
①选择:规则1|规则2;②分组:(规则1)|(规则2);
5、正则表达式示例:
手机号:(\+86|0086)?\s*1【34578】\d{9};

密码强度:①至少包含一位大写字母:(?!【a-z0-9】+$);②至少包含一位数字:(?!【A-Za-z】+$);③6~8位字母数字组合:【0-9A-Za-z】{6,8};

6、正则位置匹配:
①^:匹配字符串开头;②$:匹配字符串结尾;③\b:匹配单词边界;
7、检索操作关键词:
①查找一个固定关键词的位置:
var i=str.indexOf(“关键词”,fromi);
var i=str.lastIndexOf(“关键词”,fromi);
②判断是否包含符合规则的关键词:
var i=str.search(/reg/);
③返回所有关键词内容:
var kwords=str.match(/reg/i);
* i为忽略大小写;g为全部查找;
④替换:str=str.replace(/reg/ig,“替换值”);不直接修改,返回新字符串;
⑤切割:var subs=str.split(/reg/);按reg匹配切割为多个子字符串存在subs中;

⑥获得指定位置字符:
str.charAt(i);óstr【i】;
var code=str.charCodeAt(i);ó获得i位置字符的Unicode号;
var char=String.fromCharCode(code);ó将Unicode号转为字符;
⑦截取子字符串:
str.slice(starti,endi+1);
str.substring(starti,endi+1);不支持负数参数;
str.substr(starti,n);从starti开始截取n个字符;

javascript_core_05之正则表达式的更多相关文章
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- Python高手之路【五】python基础之正则表达式
下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...
- C# 正则表达式大全
文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...
- C#基础篇 - 正则表达式入门
1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 【JS基础】正则表达式
正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...
- JavaScript 正则表达式语法
定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...
- [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...
随机推荐
- Redis第一篇(Redis单机版本安装及启动)
安装: 1 2 3 4 5 [root@M2_Redis1 ~]# yum install gcc gcc-c++ (安装依赖) [root@M2_Redis1 tools]# wget ht ...
- [LeetCode] 435 Non-overlapping Intervals
Given a collection of intervals, find the minimum number of intervals you need to remove to make the ...
- 微信分享接口SDK简介使用
很久没做移动端活动了,想不少人都参与过微信里面的活动,既然活动就少不了分享.那我就行一个前端的角度说说如何实现微信分享的吧. 对应微信分享,现在已有公共接口,微信的开发者文档SDK:https://m ...
- Swift的基本类型和流程控制
Swift 是一门静态的强类型语言.它以简单.干净.可读性好等特点著称. 1. 为什么是静态语言? 首先静态语言比之动态语言,更具有安全性.它不允许类型之间自动的进行转换,必须要显示的转换.Swif ...
- Ubuntu/Linux 下pdf阅读器Zathura(类vim操作)
Ubuntu下源安装: sudo apt-get install zathura 操作总结: 基本操作与vim一致,对于熟悉vim快捷键的十分方便: 向下移动一页是J(Ctrl+f),向上移动一页是K ...
- springMVC静态文件访问
web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xs ...
- 本人讲课时录制的Android应用开发技术教学视频
网盘地址:http://yun.baidu.com/pcloud/album/info?query_uk=1963923831&album_id=3523786484935252365 本人讲 ...
- java 多线程--- Thread Runnable Executors
java 实现多线程的整理: Thread实现多线程的两种方式: (1)继承 Thread类,同时重载 run 方法: class PrimeThread extends Thread { long ...
- 一个事务复制的bug--更新丢失 续
阅读本文之前请参考http://www.cnblogs.com/stswordman/p/3258897.html 最近又做了一个case,环境是sql server 2008 R2. 客户添加了一个 ...
- 如何使用硬盘安装debian8.3?
环境:能开机的windowsxp系统+debian8.3cd+wingrub 大致原理:使用wingrub编辑启动菜单,编辑root根目录,加载相对根目录的linux内核kernel,加载initrd ...