怎样在微信上做网站,内蒙古呼和浩特职业学院,辽宁双高建设专题网站,WordPress更改数据库连接正则表达式用于字符串处理#xff0c;表单验证等场合#xff0c;实用高效#xff0c;但用到时总是不太把握#xff0c;以致往往要上网查一番。我将一些常用的表达式收藏在这里#xff0c;作备忘之用。本贴随时会更新#xff0c;请持续关注本站。匹配中文字符的正则表达式…正则表达式用于字符串处理表单验证等场合实用高效但用到时总是不太把握以致往往要上网查一番。我将一些常用的表达式收藏在这里作备忘之用。本贴随时会更新请持续关注本站。匹配中文字符的正则表达式 [u4e00-u9fa5]匹配双字节字符(包括汉字在内)[^x00-xff]应用计算字符串的长度(一个双字节字符长度计2ASCII字符计1)String.prototype.lenfunction(){return this.replace([^x00-xff]/g,aa).length;}匹配空行的正则表达式n[s| ]*r匹配HTML标记的正则表达式/.*1|/匹配首尾空格的正则表达式(^s*)|(s*$)String.prototype.trim function(){return this.replace(/(^s*)|(s*$)/g, );}利用正则表达式分解和转换IP地址下面是利用正则表达式匹配IP地址并将IP地址转换成对应数值的Javascript程序function IP2V(ip){re/(d).(d).(d).(d)/g //匹配IP地址的正则表达式if(re.test(ip)){return RegExp.1∗Math.pow(255,3))RegExp.2*Math.pow(255,2))RegExp.3∗255RegExp.4*1}else{throw new Error(Not a valid IP address!)}}不过上面的程序如果不用正则表达式而直接用split函数来分解可能更简单程序如下var ip10.100.20.168ipip.split(.)alert(IP值是(ip[0]*255*255*255ip[1]*255*255ip[2]*255ip[3]*1))匹配Email地址的正则表达式w([-.]w)*w([-.]w)*.w([-.]w)*匹配网址URL的正则表达式http://([w-].)[w-](/[w- ./?%]*)?利用正则表达式去除字串中重复的字符的算法程序[注此程序不正确原因见红色字体]var sabacabefgeeiivar s1s.replace(/(.).*1/g,$1)var renew RegExp([s1],g)var s2s.replace(re,)alert(s1s2) //结果为abcefgi如果var s abacabefggeeii结果就不对了结果为abeicfgg正则表达式的能力有限我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法最终没有找到这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符再以重复的字符建立第二个表达式取到不重复的字符两者串连。这个方法对于字符顺序有要求的字符串可能不适用。得用正则表达式从URL地址中提取文件名的javascript程序如下结果为page1shttp://www.9499.net/page1.htmss.replace(/(.*/){0,}([^.]).*/ig,$2)alert(s)利用正则表达式限制网页表单里的文本框输入内容用正则表达式限制只能输入中文οnkeyupvaluevalue.replace(/[^u4E00-u9FA5]/g,) onbeforepasteclipboardData.setData(text,clipboardData.getData(text).replace(/[^u4E00-u9FA5]/g,))用正则表达式限制只能输入全角字符οnkeyupvaluevalue.replace(/[^uFF00-uFFFF]/g,) onbeforepasteclipboardData.setData(text,clipboardData.getData(text).replace(/[^uFF00-uFFFF]/g,))用正则表达式限制只能输入数字οnkeyupvaluevalue.replace(/[^d]/g,) onbeforepasteclipboardData.setData(text,clipboardData.getData(text).replace(/[^d]/g,))用正则表达式限制只能输入数字和英文οnkeyupvaluevalue.replace(/[W]/g,) onbeforepasteclipboardData.setData(text,clipboardData.getData(text).replace(/[^d]/g,))应用javascript中没有像vbscript那样的trim函数我们就可以利用这个表达式来实现如下/*** 计算字符串长度将非宽字符计算为半个字符** param str* returns*/function gbLength(str) {return typeof str string ? str.length str.replace(/[x00-x7f]/g, ).length 1 1 : 0;}/*** 获取字符串的指定长度的子串将非宽字符计算为半个字符** param str* param length* returns*/function gbSubstr(str, length) {if (typeof str ! string)return str;length length;for ( var n 0, L str.length; n L length 0; n){length - str.charCodeAt(n) 127 ? 2 : 1;}return str.substr(0, n);}/*** 切割指定字符串的指定长度子串如果长度超过指定长度则丢弃末尾两个字符并附加...** param str* param len* returns*/function fit_length(str, len){len len || 16;if (typeof str ! string || str.length len || gbLength(str) len){return str;}var ret gbSubstr(str, len - 2);return ret ..;}var replaceCJK /[^x00-xff]/g,testCJK /[^x00-xff]/;cjkLength: function(strValue){return strValue.replace(replaceCJK, lv).length;},isCjk: function(strValue){return testCJK.test(strValue);},cutString: function(str,len,suffix,slen){suffix suffix || ;slen slen || suffix.length;if(str.length len){str str.substr(0,len - slen) suffix;}return str;},cutCjkString: function(str,len,suffix,slen){suffix suffix || ;slen slen || suffix.length;len - slen;if(this.cjkLength(str) len){return str;}var s str.split(),c 0,tmpA [];for(var i0;iif(c len){tmpA[tmpA.length] s[i];}if(this.isCjk(s[i])){c 2;}else{c 1;}}return tmpA.join() suffix;}}以上内容给大家分享我日常收集的一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)希望大家喜欢。欲了解更多请持续关注本站。