/** ** author: site120 ** function : get script part from html document **/ var loadJs = function(str , delayTime) { var delayTime = delayTime || 100; var regExp_scriptTag = new RegExp("<\\s*script([^>]*)>([\\s\\S]*?)</\\s*script\\s*>" , "gi"); var regExp_scriptAttrib_src = new RegExp("\\s*src?\\s*=\\s*(\"([^\"]+)\"|\'([^\']+)\'|\\s*([^\\s]+)\\s*)" , ...
先看一道JavaScript题目,据说是国内某知名互联网企业的JavaScript笔试题,如果对正则的全局匹配模式不了解的话可能会对下面的输出结果感到疑惑。 var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false 在创建正则表达式对象时如果使用了“g”标识符或者设置它了的?global属...
在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,以下是对一些方法使用的总结。String对象中支持正则表达式有4种方法,分别是:search、replace、match、splitstr.search(regexp)定义:search()方法将在字符串str中检索与表达式regexp相匹配的字串,并且返回第一个匹配字串的第一个字符的位置。如果没有找到任何匹配的字串,则返回-1。例如: var st...
电脑教程吧-常用论坛转贴工具电脑教程吧-常用论坛转贴工具 function delnull() { var str=document.getElementById('text').value; str=str.replace(/([\s]*\r\n[\s]*){2,}/gm,"\r\n"); document.getElementById('text').value=str; } function refix() { var str=document.getElementById('text').value; str=str.replace(/([\s]*\r\n[\s]*){2,}/gm,"\r\n\r\n"); document.getElementById('text').value=str; } func...
代码如下: var stringObj="终古人民共和国,终古人民"; //替换错别字“终古”为“中国” //并返回替换后的新字符 //原字符串stringObj的值没有改变 var newstr=stringObj.replace("终古","中国"); alert(newstr); 比我聪明的你,看完上面的例子之后,会发现第二个错别字“终古”并没有被替换成“中国”,我们可以执行二次replace方法把第二个错别字“终古”也替换掉,程序经过改进之后如下: var stringObj="终古人民共...
作者: hezhiwu5@163.com var stringObj="终古人民共和国,终古人民"; //替换错别字“终古”为“中国” //并返回替换后的新字符 //原字符串stringObj的值没有改变 var newstr=stringObj.replace("终古","中国"); alert(newstr); 比我聪明的你,看完上面的例子之后,会发现第二个错别字“终古”并没有被替换成“中国”,我们可以执行二次replace方法把第二个错别字“终古”也替换掉,程序经过改进之后如下: var stringObj="终...
一般情况下用正则写法为: //[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]如果遇到大数据的变长字符串的话就会发现这个是很耗资源的。效率并不高,有的时候甚至无法忍受。/**/请在这里写足够多的空格或者tab字符。 //[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]在解释这个原因的时候想起以前看到master regular expression里面有提到过。NFA和DFA的引擎是有区别的。js/perl/php/java/.net都是NFA引擎。 而DFA与NFA机制上的不...
str 是表示通过ajax返回的XMLRequest /*动态加载css style*/ function loadStyle(str) { var regExp_src=/[^/gi; var matchArray_src=str.match(regExp_src); alert(matchArray_src[0]); if(matchArray_src){ for(var i=0;i{alert("sss"); var str_temp = matchArray_src[i].toString(); var regExp_src_temp = /[^/gi; str_temp.match(regExp_src_temp);/*这里重复使用匹配是为了,$1这个子表达式指向当前的值,否则会永远是最后一...
window.location.pathname 比如: /windows/location/page.html 我想得到“windows”,请问用正则表达式怎么写? var a="/windows/location/page.html"; var reg=/(^(http[s]?:\/\/[^\/]*\/)|(^\/))([^\/]+)\/.*$/ig; var t=a.replace(reg,"$4"); alert(a + "\n" + "\n" + t); var a=top.location + "/windows/location/page.html"; var t=a.replace(reg,"$4"); alert(a + "\n" + "\n" + t); alert(top.location + "\n" + "...
RegExp类 RegExp对象的构造函数可以带一个或两个参数 第一个参数是描述需要进行匹配的模式字符串,如果还有第二个参数,这个参数则制定了额外的处理指令。 一、基础 1.1使用RegExp对象 test()方法 测试是否匹配。如果给定字符串(只有一个参数)匹配这个模式,它就返回true,否则返回false 代码如下:var sToMatch = "cat"; var reCat = /cat/; //正则表达式字面量使用Perl风格的语法 alert(reCat.test(sToMatch)); //outs "true" exe...
一般情况下我们可能会用到正则表达式去替换文本: 代码如下: var a = "abc123aXc"; a.replace(/a.c/g, ZZ); 我们可以用函数来定义高级替换,而不是一个简单的字符串。比如: function reverseMatch(str) { return str.split('').reverse().join(''); } var a = "www jb51 net"; a=a.replace(/\w+/g, reverseMatch); alert(a); [/code] 执行结果为: 代码如下: www 15bj ten [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行...
实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码 代码如下: var docs = document.body.innerHTML; var links =docs.match(/ed2k.*\|\//gi);//注意这里 使用了点(.)符号匹配任意字符 document.body.innerHTML = ""; for( var link in links){ document.body.innerHTML += links[link]+"" } 以上代码起初一切正常,在接下来的测试中发现,如果电驴地址中存在全角字符时就匹配就会失败。遂改用如下写法 代码如下: v...
正则表达式的直接变量字符: 字符 匹配\o NUL字符\t 制表符\n 换行符\v 垂直制表符\f 换页符\r 回车\xnn 由十六进制nn指定的拉丁符,比如:\x0A等价于\uxxxx unicode字符\cX 控制字符^X正则表达式的js引用:var sEnd=new RegExp("s$"); ——以s为结尾的字符串匹配function Verify() { //获取需验证的值,正则表达式 var InforString = document.getElementById("textInfor").value; var RuleString = document.getElementById(...
分组下面的正则表达式可以匹配kidkidkid:/kidkidkid/而另一种更优雅的写法是:/(kid){3}/这里由圆括号包裹的一个小整体称为分组。 候选一个分组中,可以有多个候选表达式,用|分隔:var reg = /I love (him|her|it)/;reg.test('I love him') // true reg.test('I love her') // true reg.test('I love it') // true reg.test('I love them') // false这里的|相当于“或”的意思。 捕获与引用被正则表达式匹配(捕获)到的字符...
返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。 rgExp.global 必选项 rgExp 参数是正则表达式对象。 如果正则表达式设置了global 标志,那么global 属性返回 true,否则返回 false。 使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。一直不是很清楚javascript的global到底表现在哪些方面,所以今天特地做了几个测试:最终结果:...