博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js基础 正则
阅读量:6997 次
发布时间:2019-06-27

本文共 2943 字,大约阅读时间需要 9 分钟。

正则 简而言之就是描述一个事件的规则

设置规则,来完成我们需求的一些操作。
  • 定义


var reg=new RegExp(字符串规则,字符串选项);  var reg=/规则/选项;
  • 选项


1  i  ignore--执行忽略大小写的匹配    2  g  gloal--执行全局匹配(可以查看所有的匹配而不是只找到第一个匹配后就停止)    3  m  mutil-line--执行多行匹配
  • 转义: \


\w  word       单词       [a-zA-Z0-9_]\s   space      空白\D  非数字 [^0-9]\W  非单词 [^a-zA-Z0-9_]\S  非空白.   任意东西\.  点本身\\  斜杠本身```量词:规定了几个{n} 正好几个    /\d{2}/        /\d{475}/        /\d{2}|\d{3}/{n,m}   最少n个,最多m个        /\d{1,2}/        /\d{2,500}/        /\d{0,1}/  -> 可有可无{n,}    最少n个,最多不限        /\d{2,}/        /\d{1,}/   若干        /\d{0,}/  {,m}    最少不限,最多m个   ×?   {0,1}   可有可无    /\d{0,1}/    /\d?/+   {1,}    若干    /\d{1,}/    /\d+/*   {0,}    可以没有,有了也不限    /\d{0,}/    /\d*/```* 量词,默认只管前面一位方括号:  []修饰:        ^ 开始        $ 结尾        \b  boundary  边界   [abc]    任意一个    /a|b|c/   [0-9]      区间        [^abc]      排除     /^a/      -> 以字母a开头的东西 /[^a]/    -> 排除字母a /^[a-z]/  -> 以小写字母开头 /^[^a-z]/ -> 以非小写字母开头    test()  在字符串中查找符合正则的内容,若查找到返回true,反之返回false.                ^  $ 优先级比 | 要高                校验年龄 0-100   var reg=/^([1-9]?\d|100)$/; reg.test('22'); // true   search() 在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不                只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1;                首个数字出现的位置 var reg=/\d/;    'aa1fsff'.search(reg)   // 1  match()  在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,                失败就返回null                var reg=/\d+/img; 'sssa1122s2s4'.match(reg) // ['1122','2','4']                  replace  查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。                传入function(s,$1,$2..$99){}时,代表所有符合条件的选项,$1 ..$99                我的理解就是()中的内容。。。。
function trim(str){           var re = /^\s+|\s+$/g;             return str.replace(re,'');        }        只能输入数字  var oTxt=docuemnt.querySelector('#txt');          oTxt.oninput=function(){            oTxt.value=oTxt.value.replace(/\D/g,'');        }```                        var str='在匹配成功时,会将子表达式匹配到的内容,保存到内存中一个以数字编号的组里,可以简单的认为是对一个局部变量进行了赋值,这时就可以通过反向引用方式,引用这个局部变量的值。';
str.replace(reg,function(s){    var tmp='';    for(var i=0; i< s.length; i++){        tmp+='*';    }    return tmp;});str.replace(reg,function(s){   return s.replace(/./g,'*');})```
var str='apple babab';            str=str.replace(/\b(\w{1})(\w+)?\b/gi,function(s,$1,$2){                return $1.toUpperCase()+$2            });```
'onclick onmouseover onmouseout'.replace(/\w+/g,function(sEv){    oDiv[sEv]=function(){       do something;    };});```
function hasClass(obj,sClass){                var reg=new RegExp('\\b'+sClass+'\\b');                return reg.test(obj.className);            }```
function getQueryObject(url) {    url = url == null ? window.location.href : url;    var search = url.substring(url.lastIndexOf("?") + 1);    var obj = {};    var reg = /([^?&=]+)=([^?&=]*)/g;    search.replace(reg, function (rs, $1, $2) {        var name = decodeURIComponent($1);        var val = decodeURIComponent($2);                       val = String(val);        obj[name] = val;        return rs;    });    return obj;}```

转载地址:http://bfdvl.baihongyu.com/

你可能感兴趣的文章
.Net多线程
查看>>
【物联网智能网关-01】通过AD采集获取温湿度
查看>>
网络和网络互联
查看>>
Python任意字符集转换
查看>>
RHEL6基础二十四之RHEL软件包管理③源码安装
查看>>
Appium自动化测试之微信元素识别和代码实战
查看>>
基于Nginx反向代理及负载均衡
查看>>
SAP ALL compile code: SGEN
查看>>
Oracle体系结构之检查点
查看>>
SQL Server 2017 AlwaysOn on Linux 配置和维护(15)
查看>>
以太坊的势与局
查看>>
如何结合使用 Subversion 和 Eclipse
查看>>
ELK 实验(五)配置数据源和仪表盘
查看>>
centos 6.3搭建个人私有云存储owncloud
查看>>
PHP中的浅拷贝和深拷贝
查看>>
利用redis-sentinel+keepalived实现redis高可用
查看>>
CloudStack4.2登录报用户名或密码错误问题解析
查看>>
逻辑备库之ORA-01403解决方法
查看>>
MySQL Replication(复制)基本原理
查看>>
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月5日-12月11日)
查看>>