欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          JavaScript中常用的正則表達(dá)式日常整理(全)

          //校驗(yàn)是否全由數(shù)字組成

            function isDigit(s)   {   var patrn=/^[0-9]{1,20}$/;   if (!patrn.exec(s)) return false   return true   } 

          匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]

          評(píng)注:匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了

          匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]

          評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

          匹配空白行的正則表達(dá)式:ns*r

          評(píng)注:可以用來(lái)刪除空白行

          匹配HTML標(biāo)記的正則表達(dá)式:< (S*?)[^>]*>.*?|< .*? />

          評(píng)注:網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力

          匹配首尾空白字符的正則表達(dá)式:^s*|s*$

          評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式

          匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

          評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

          匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^s]*

          評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求

          匹配帳號(hào)是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

          評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

          匹配國(guó)內(nèi)電話號(hào)碼:d{3}-d{8}|d{4}-d{7}

          評(píng)注:匹配形式如 0511-4405222 或 021-87888822

          匹配騰訊QQ號(hào):[1-9][0-9]{4,}

          評(píng)注:騰訊QQ號(hào)從10000開始

          匹配中國(guó)郵政編碼:[1-9]d{5}(?!d)

          評(píng)注:中國(guó)郵政編碼為6位數(shù)字

          匹配身份證:d{15}|d{18}

          評(píng)注:中國(guó)的身份證為15位或18位

          匹配ip地址:d+.d+.d+.d+

          評(píng)注:提取ip地址時(shí)有用

          匹配特定數(shù)字:

          ^[1-9]d*$    //匹配正整數(shù)
          ^-[1-9]d*$   //匹配負(fù)整數(shù)
          ^-?[1-9]d*$   //匹配整數(shù)
          ^[1-9]d*|0$  //匹配非負(fù)整數(shù)(正整數(shù) + 0)
          ^-[1-9]d*|0$   //匹配非正整數(shù)(負(fù)整數(shù) + 0)
          ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮點(diǎn)數(shù)
          ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配負(fù)浮點(diǎn)數(shù)
          ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮點(diǎn)數(shù)
          ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
          ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)

          評(píng)注:處理大量數(shù)據(jù)時(shí)有用,具體應(yīng)用時(shí)注意修正

          匹配特定字符串:

          ^[A-Za-z]+$  //匹配由26個(gè)英文字母組成的字符串
          ^[A-Z]+$  //匹配由26個(gè)英文字母的大寫組成的字符串
          ^[a-z]+$  //匹配由26個(gè)英文字母的小寫組成的字符串
          ^[A-Za-z0-9]+$  //匹配由數(shù)字和26個(gè)英文字母組成的字符串
          ^w+$  //匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串

          在使用RegularExpressionValidator驗(yàn)證控件時(shí)的驗(yàn)證功能及其驗(yàn)證表達(dá)式介紹如下:

          只能輸入數(shù)字:“^[0-9]*$”
          只能輸入n位的數(shù)字:“^d{n}$”
          只能輸入至少n位數(shù)字:“^d{n,}$”
          只能輸入m-n位的數(shù)字:“^d{m,n}$”
          只能輸入零和非零開頭的數(shù)字:“^(0|[1-9][0-9]*)$”
          只能輸入有兩位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{2})?$”
          只能輸入有1-3位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{1,3})?$”
          只能輸入非零的正整數(shù):“^+?[1-9][0-9]*$”
          只能輸入非零的負(fù)整數(shù):“^-[1-9][0-9]*$”
          只能輸入長(zhǎng)度為3的字符:“^.{3}$”
          只能輸入由26個(gè)英文字母組成的字符串:“^[A-Za-z]+$”
          只能輸入由26個(gè)大寫英文字母組成的字符串:“^[A-Z]+$”
          只能輸入由26個(gè)小寫英文字母組成的字符串:“^[a-z]+$”
          只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:“^[A-Za-z0-9]+$”
          只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:“^w+$”

          驗(yàn)證用戶密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開頭,長(zhǎng)度在6-18之間,
          只能包含字符、數(shù)字和下劃線。

          驗(yàn)證是否含有^%&’,;=?$”等字符:“[^%&’,;=?$x22]+”
          只能輸入漢字:“^[u4e00-u9fa5],{0,}$”

          驗(yàn)證Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

          驗(yàn)證InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

          驗(yàn)證電話號(hào)碼:“^((d{3,4})|d{3,4}-)?d{7,8}$”

          正確格式為:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
          “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

          驗(yàn)證身份證號(hào)(15位或18位數(shù)字):“^d{15}|d{}18$”

          驗(yàn)證一年的12個(gè)月:“^(0?[1-9]|1[0-2])$”正確格式為:“01”-“09”和“1”“12”

          驗(yàn)證一個(gè)月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

          正確格式為:“01”“09”和“1”“31”。

          匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]

          匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]

          匹配空行的正則表達(dá)式:n[s| ]*r

          匹配HTML標(biāo)記的正則表達(dá)式:/< (.*)>.*|< (.*) />/

          匹配首尾空格的正則表達(dá)式:(^s*)|(s*$)

          匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

          匹配網(wǎng)址URL的正則表達(dá)式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

          (1)應(yīng)用:計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

            String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}

          (2)應(yīng)用:javascript中沒有像vbscript那樣的trim函數(shù),我們就可以利用這個(gè)表達(dá)式來(lái)實(shí)現(xiàn)

            String.prototype.trim = function()  {  return this.replace(/(^s*)|(s*$)/g, “”);  }

          (3)應(yīng)用:利用正則表達(dá)式分解和轉(zhuǎn)換IP地址

            function IP2V(ip) //IP地址轉(zhuǎn)換成對(duì)應(yīng)數(shù)值  {  re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正則表達(dá)式  if(re.test(ip))  {  return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1  }  else  {  throw new Error(”Not a valid IP address!”)  }  }

          (4)應(yīng)用:從URL地址中提取文件名的javascript程序

            s=”http://www.9499.net/page1.htm”;  s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm

          (5)應(yīng)用:利用正則表達(dá)式限制網(wǎng)頁(yè)表單里的文本框輸入內(nèi)容

          用正則表達(dá)式限制只能輸入中文:onkeyup=”value=”/blog/value.replace(/[“^u4E00-u9FA5]/g,”) ”

            onbeforepaste=”clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,”))”

          用正則表達(dá)式限制只能輸入全角字符: onkeyup=”value=”/blog/value.replace(/[“^uFF00-uFFFF]/g,”) ”

          onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^uFF00-uFFFF]/g,”))”

          用正則表達(dá)式限制只能輸入數(shù)字:onkeyup=”value=”/blog/value.replace(/[“^d]/g,”) “onbeforepaste= “clipboardData.setData

          (‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”))”

          用正則表達(dá)式限制只能輸入數(shù)字和英文:onkeyup=”value=”/blog/value.replace(/[W]/g,””) “onbeforepaste=”clipboardData.setData

          (‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”

          中正則表達(dá)式,js去掉html標(biāo)記,去掉字符,截取字符(2009-01-11 10:20:14)
          2007-07-08 15:26

          1,得到網(wǎng)頁(yè)上的鏈接地址:

            string matchString = @"<a[^>]+href=s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>s]+))s*[^>]*>";

          2,得到網(wǎng)頁(yè)的標(biāo)題:

            string matchString = @"<title>(?<title>.*)</title>";

          3,去掉網(wǎng)頁(yè)中的所有的html標(biāo)記:

            string temp = Regex.Replace(html, "<[^>]*>", ""); //html是一個(gè)要去除html標(biāo)記的文檔

          java 中去掉網(wǎng)頁(yè)中的所有標(biāo)簽

            str = str.replaceAll("<[^>]*>", "");

          4, string matchString = @”<title>([Sst]*?)</title>”;

          5,js去掉所有html標(biāo)記的函數(shù):

            function delHtmlTag(str)  {  return str.replace(/</?.+?>/g,"");//去掉所有的html標(biāo)記  }  

          這個(gè)可能IE5會(huì)錯(cuò),那用這個(gè),梅花的:

            function delHtmlTag(str)  {  return str.replace(/<[^>]+>/g,"");//去掉所有的html標(biāo)記  }  

          校驗(yàn)登錄名:只能輸入5-20個(gè)以字母開頭、可帶數(shù)字、“_”、“.”的字串

            function isRegisterUserName(s)    {    var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;    if (!patrn.exec(s)) return false   return true   } 

          來(lái)源:正則匹配空格的問題

          字符串內(nèi)字符鍵有空格,但是空格的數(shù)量可能不一致,通過正則將空格的個(gè)數(shù)統(tǒng)一變?yōu)橐粋€(gè)。

          例如:藍(lán) 色 理 想

          變成:藍(lán) 色 理 想

          aobert的正則:

            <script type="text/javascript">   var str="藍(lán) 色 理 想"   var reg=/s+/g   str = str.replace(reg," ")   document.write(str)   </script> 

          判斷字符串是不是由數(shù)字組成

          來(lái)源:有沒有簡(jiǎn)單的方法判斷字符串由數(shù)字組成?

          這個(gè)正則比較簡(jiǎn)單,寫了一個(gè)測(cè)試

            <script type="text/javascript">   function isDigit(str){   var reg = /^d*$/;   return reg.test(str);   }   var str = "7654321";   document.write(isDigit(str));   var str = "test";   document.write(isDigit(str));   </script>

          電話號(hào)碼正則

          來(lái)源:想問一下關(guān)于電話號(hào)碼的正則判斷

          :求一個(gè)驗(yàn)證電話號(hào)碼的JS正則

          /^d{3,4}-d{7,8}(-d{3,4})?$/區(qū)號(hào)必填為3-4位的數(shù)字,區(qū)號(hào)之后用“-”與電話號(hào)碼連接

          ^d{3,4}-電話號(hào)碼為7-8位的數(shù)字

          d{7,8}分機(jī)號(hào)碼為3-4位的數(shù)字,非必填,但若填寫則以“-”與電話號(hào)碼相連接

          (-d{3,4})?手機(jī)號(hào)碼正則表達(dá)式
          正則驗(yàn)證手機(jī)號(hào),忽略前面的0,支持130-139,150-159。忽略前面0之后判斷它是11位的。

          cloeft的正則:

          /^0*(13|15)d{9}$/ ^0*匹配掉開頭任意數(shù)量的0。

          由于手機(jī)號(hào)碼是13任意數(shù)字9位,和15任意數(shù)字9位,所以可以用(13|15)d{9}匹配。

          測(cè)試代碼如下:

            function testReg(reg,str){   return reg.test(str);   }   var reg = /^0*(13|15)d{9}$/;   var str = '13889294444';   var str2 = '12889293333';   var str3 = '23445567';   document.write(testReg(reg,str)+'<br />');   document.write(testReg(reg,str2)+'<br />');   document.write(testReg(reg,str3)+'<br />');

           使用正則表達(dá)式實(shí)現(xiàn)刪除字符串中的空格:

          來(lái)源:請(qǐng)問js中有沒有去掉空格的函數(shù)

          代碼以及測(cè)試代碼如下:

            <script type="text/javascript">   //刪除字符串兩側(cè)的空白字符。   function trim(str){   return str.replace(/^s+|s+$/g,'');   }   //刪除字符串左側(cè)的空白字符。   function ltrim(str){   return str.replace(/^s+/g,'');   }   //刪除字符串右側(cè)的空白字符。   function rtrim(str){   return str.replace(/s+$/g,'');   }   //以下為測(cè)試代碼   var trimTest = " 123456789 ";  //前后各有一個(gè)空格。   document.write('length:'+trimTest.length+'<br />');  //使用前   document.write('ltrim length:'+ltrim(trimTest).length+'<br />');  //使用ltrim后   document.write('rtrim length:'+rtrim(trimTest).length+'<br />');  //使用rtrim后   document.write('trim length:'+trim(trimTest).length+'<br />');  //使用trim后   </script> 

          測(cè)試的結(jié)果如下:

          length:11
          ltrim length:10
          rtrim length:10
          trim length:9 限制文本框只能輸入數(shù)字和小數(shù)點(diǎn)等等

          來(lái)源:文本框輸入限制的問題????

          只能輸入數(shù)字和小數(shù)點(diǎn)

          var reg = /^d*.?d{0,2}$/ 開頭有若干個(gè)數(shù)字,中間有0個(gè)或者一個(gè)小數(shù)點(diǎn),結(jié)尾有0到2個(gè)數(shù)字。

          只能輸入小寫的英文字母和小數(shù)點(diǎn),和冒號(hào),正反斜杠(:./)

          var reg = /[a-z./\:]+/; a-z包括了小寫的英文字母,.是小數(shù)點(diǎn),/和\分別是左右反斜線,最后是冒號(hào)。整個(gè)組成一個(gè)字符集和代碼任一均可,最后在加上+,1或者多個(gè)。

          替換小數(shù)點(diǎn)前內(nèi)容為指定內(nèi)容

          來(lái)源:求一正則表達(dá)式!

          請(qǐng)問 怎么把這個(gè)字符串的小數(shù)點(diǎn)前面的字符替換為我自定義的字符串???

          例如:infomarket.php?id=197 替換為 test.php?id=197

          應(yīng)該可以把第一個(gè)點(diǎn)“.”之前的所有單詞字符替換為test就可以了。我寫的正則如下:

            <script type="text/javascript">   var str = "infomarket.php?id=197";   var reg = /^w*/ig;   //匹配字符串開頭的任意個(gè)單詞字符   str = str.replace(reg,'test');   document.write(str);   </script> 

          原帖的有點(diǎn)復(fù)雜,沒太看明白。

          只匹配中文的正則表達(dá)式

          來(lái)源:關(guān)于上傳的時(shí)候,只能選擇中文名稱的圖片(是否可以用toASCII方法呢?)

          前兩天看的《JavaScript開發(fā)王》里恰好有中文的unicode范圍,正則如下:

          /[u4E00-u9FA5uf900-ufa2d]/ 寫了一個(gè)簡(jiǎn)單的測(cè)試,會(huì)把所有的中文替換成“哦”。

            <script type="text/javascript">   var str = "有中文?and English.";   var reg = /[u4E00-u9FA5uf900-ufa2d]/ig;   str = str.replace(reg,'哦');   document.write(str);   </script>

          返回字符串的中文字符個(gè)數(shù)

          來(lái)源:有沒返回中文字符字節(jié)的函數(shù)!

          一般的字符長(zhǎng)度對(duì)中文和英文都是不分別的 如JS里的length,那么如何返回字符串中中文字符的個(gè)數(shù)呢?guoshuang老師在原帖中給出了解決方案,我又沒看懂……

          不過我自己也想到了一個(gè)辦法:先去掉非中文字符,再返回length屬性。函數(shù)以及測(cè)試代碼如下:

            <script type="text/javascript">   function cLength(str){   var reg = /[^u4E00-u9FA5uf900-ufa2d]/g;   //匹配非中文的正則表達(dá)式   var temp = str.replace(reg,'');   return temp.length;   }   var str = "中文123";   document.write(str.length+'<br />');   document.write(cLength(str));   </script>

          結(jié)果:

          5

          2

          中文兩個(gè),數(shù)字三個(gè),正確。

          下面的測(cè)試也正確。

            var str = "中文123tets@#!#%$#[][{}";   document.write(str.length+'<br />');   document.write(cLength(str));

          正則表達(dá)式取得匹配IP地址前三段

          來(lái)源:如何用正則取IP前3段

          192.168.118.101,192.168.118.72, 192.168.118.1都替換成:192.168.118

          只要匹配掉最后一段并且替換為空字符串就行了,正則如下:

          /.d{1,3}$/ 匹配結(jié)尾的.n,.nn或者.nnn。

          測(cè)試代碼如下:

            function replaceReg(reg,str){   return str.replace(reg,'')   }   var reg = /.d{1,3}$/;   var str = '192.168.118.101';   var str2 = '192.168.118.72';   var str3 = '192.168.118.1';   document.write(replaceReg(reg,str)+'<br />');   document.write(replaceReg(reg,str2)+'<br />');   document.write(replaceReg(reg,str3)+'<br />'); 

          相似的有,這個(gè)帖子里有一個(gè)驗(yàn)證IP地址的方法:求檢驗(yàn)MAC地址的正則表達(dá)例子

          匹配<ul>與<ul>之間的內(nèi)容
          來(lái)源:請(qǐng)教個(gè)正則的小問題吧
          <ul>safsf<ul>safsf</ul><ul>safsf</ul></ul>

          用正則可以得到 <ul>起到下個(gè)<ul> 之間的內(nèi)容。

          正則如下:

          /<ul>[sS]+?<ul>/i 首先匹配兩側(cè)的ul標(biāo)簽,中間的[sS]+?可以匹配一個(gè)或者多個(gè)任意字符,一定要非貪婪,否則會(huì)匹配<ul>safsf<ul>safsf</ul><ul>。

          用正則表達(dá)式獲得文件名

          來(lái)源:C: