javascript之正则使用。

正则表达式:

\

本人常用的几种正则:

修饰符如下:
i ===> 无视大小写
g ===> 全局匹配,说白就是全部匹配
m ===> 多行匹配

方括号:
[abc] ===> 匹配括号里面的任何字符 限英文、大小写
[^abs] ===> 匹配不在括号内的字符
[0-9] ===> 匹配数字 0到9之间
[a-z] ===> 匹配26个小写字母之间
[A-Z] ===> 匹配26个大写字母之间
[A-z] ===>上面两个的结合

元字符:

.  ===> 匹配单个字符 除换行与行结束符
\w ===> 匹配单词字符 
\W ===> 匹配非单词字符
\d ===> 匹配数字
\s ===> 匹配空格
\S ===> 匹配非空格
\n ===> 匹配换行
[...]===> 匹配方括号里面的任意字符
[^...]===>匹配不在方括号里面的任意字符

量词:

+     ===> 匹配一个 || 多个 (至少一个)
*     ===> 匹配0个 || 多个
?     ===> 匹配一个或多个
{x}   ===> 匹配前一项x次
{x,y} ===> 匹配前一项x次 不能超过y次
{x,}  ===> 匹配前一项至少x个
$     ===> 匹配结尾
^     ===> 匹配开头

正则属性:

lastIndex ⇒ 下次匹配的起始位置 需要手动重置为0

正则方法:

RegExp.prototype.exec(string); // 检查字符串中正则表达式的匹配

RegExp.prototype.test(string); // 检测string是否匹配某个模式

使用:
var str = /\d+/g;
var str1= 29047332;
str.test(str1); // reg检测str1为数字 返回true 通常用来匹配验证类型 手机号等等

支持正则的String对象的方法如下:

String.prototype.search(reg);
// 检测字符串中的子字符串 || 检测正则匹配的子字符串

使用:
要检测的字符串.search(正则的相关逻辑); // 返回匹配到首个字符下标

String.prototype.match(reg); // 检测指定的值 || 正则的匹配

使用:
要检测的字符串.match(string/reg); // 可以是字符串 || 正则的匹配 返回检测到的值

var text =' Viscdisncs http://www.qinzb.cn/~david';
var reg  = /(\w+):\/\/([\w.]+)\/(\S*)/;
var result = text.match(reg);
if(!result==null){
  var fullurl =  result[0]; // 0为完整匹配到的 http://www.qinzb.cn/~david
  var protocol = result[1]; // http
  var host      =  result[2]; // www.qinzb.cn;
  var path      =  result[3]; // ~david
}

String.prototype.replace(reg/string,replacement);
// 替换某个字符串 可以是正则匹配模式

使用:
要替换的字符.replace(字符串直接量 /正则逻辑,要替换的内容);

String.prototype.split(string/reg,length); // 字符串分割成数组

使用:
要分割的字符.split(字符直接量/正则逻辑,指定分割数组长度)

猜你喜欢

转载自blog.csdn.net/weixin_44164824/article/details/88983699