正则表达式

正则字符串操作:
例1:search =>查找第一次出现的位置,没有返回-1
var atr = 'ab12';
alert(atr.search('b'));//输出1


例2:substring =>两个参数(起始位置到结束位置的前一位)
=>一个参数(起始位置一直取到整个字符串结束)
var str = 'abcdef';
alert(str.substring(1, 4)); //输出bcd


例3: charAt =>取字符串中的某个字符
var str = 'abcd';
alert(str.charAt(1));//输出b


例4: split =>分割字符串,获取数组
var str = 'a-bc-de-f';
alert(str.split('-')); //输出a,bc,de,f


例5:match => 匹配符合的字符串
var str = 'sd gg 23 s2 b';
var re = /d+/g; //g表示全局查找,d+表示多个数字
alert(str.match(re)); //输出23,2


例5:replace => 替换所有匹配
var str = 'sd gg 23 s2 b S1';
alert(str.replace(/s/gi, 'D'));//输出Dd gg 23 D2 b D1

字符类:
转义字符
[abc]
[0-9] ==> d 数字
[^0-9] ==> D 非数字
[a-z] ==> 所有字母
[0-9a-z] ==> 数字或者字母
[^a] ==> 除了a以外
[a-z0-9_] ==> w
[^a-z0-9_] ==> W
space ==> s 空格, S 除了空格以外

量词
{n, m} 最少n次,最多m次
{n, } 最少n次,最多不限
{ ,m} 最少不限,最多m次
{n} 正好n次
+ {1,} 最少出现一次最多出现无数次
* {0,} 任意次
? {0,1} 0次或者一次

匹配中文:[u4e00-u9fa5]

例如: 字符串匹配邮箱
yang@qq.com
dangci_yg_1998@126.com
var re=/^w+@[a-z0-9]+.[a-z]{2,4}$/g; //'^'代表行首字符串开头, $代表行尾, 加这两个代表整个都符合要求
oTxt2.value=oTxt1.value.match(re);

一串字母、数字、下划线 @ 一串英文、数字 . 一串英文(长度2-4)
w+ @ [a-z0-9]+ . [a-z]{2,4}

例:字符串行首行尾去空格
var str = ' ff s dd a ';
var re = /^s+|s+$/g; // 行首行尾去空格 var re = /s+$/; 行尾去空格, var re=/^s+/;行首去空格
alert(str.replace(re, ''))

例:
var str= '1b2 1dd 1c2 d';
var re= /1[abc]2/g;
alert(str.match(re)); //输出1b2, 1c2;
====》1[abc]2就如 1a2|1b2|1c2是一样的 ‘|’或者的意思, 如果[a,b]就是或者a或者逗号,或则b,

这个‘[]’里面指的是单个的,[123 456]就是1|2|3|空格|4|5|6,‘[]’里面出现的东西全都在或的范围之内


例:
var re = /<[^<>]+>/g; //标签<>里面除了<>以外任意字符


正则:

var str='abcdef';
var re=new RegExp('a', 'i'); //简写方式 var re=/a/i; =>这个i是忽略大小写
alert(re.test(str));//输出true

目标很遥远,但是如果你拼了命努力,即使到最后没有达到目标,但是你会发现,在某种程度上你已经成功了。
原文地址:https://www.cnblogs.com/Cavalary/p/8376934.html