隨筆 - 42, 文章 - 1, 評(píng)論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          常用正則式

          常用的數(shù)字正則(嚴(yán)格匹配)
          正則 含義
          ^[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)

          常用字符串正則
          正則 含義 補(bǔ)充
          ^[A-Za-z]+$ 匹配由26個(gè)英文字母組成的字符串 或 /^[a-z]+$/i
          ^[A-Z]+$ 匹配由26個(gè)英文字母的大寫組成的字符串
          ^[a-z]+$ 匹配由26個(gè)英文字母的小寫組成的字符串
          ^[A-Za-z0-9]+$ 匹配由數(shù)字和26個(gè)英文字母組成的字符串 注意\w包含下劃線_
          ^\w+$ 匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串

          匹配中文字符
          普遍使用的正則是[\u4e00-\u9fa5],但這個(gè)范圍并不完整。例如:
          /[\u4e00-\u9fa5]/.test( '?' ) // 測試部首?,返回false
          根據(jù)Unicode 5.0版編碼,要準(zhǔn)確的判斷一個(gè)中文字符要包括:
          范圍 含義 范圍 含義
          2E80-2EFF CJK 部首補(bǔ)充 2F00-2FDF 康熙字典部首
          3000-303F CJK 符號(hào)和標(biāo)點(diǎn) 31C0-31EF CJK 筆畫
          3200-32FF 封閉式 CJK 文字和月份 3300-33FF CJK 兼容
          3400-4DBF CJK 統(tǒng)一表意符號(hào)擴(kuò)展 A 4DC0-4DFF 易經(jīng)六十四卦符號(hào)
          4E00-9FBF CJK 統(tǒng)一表意符號(hào) F900-FAFF CJK 兼容象形文字
          FE30-FE4F CJK 兼容形式 FF00-FFEF 全角ASCII、全角標(biāo)點(diǎn)
          因此,正確的匹配中文字符正則表達(dá)式為:
          var rcjk = /[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g;
          如果不希望匹配標(biāo)點(diǎn)、符號(hào),在正則中去掉對(duì)應(yīng)的范圍即可:
          3000-303F CJK 符號(hào)和標(biāo)點(diǎn) FF00-FFEF 全角ASCII、全角標(biāo)點(diǎn)

          匹配雙字節(jié)字符(包括漢字在內(nèi))
          [^\x00-\xff],可以用來計(jì)算字符串的長度(一個(gè)雙字節(jié)字符長度計(jì)2,ASCII字符計(jì)1),代碼示例如下:
          console.info( "abc".replace( /[^\x00-\xff]/g,"aa" ).length ) // 3
          console.info( "漢字".replace( /[^\x00-\xff]/g,"aa" ).length ) // 4
          console.info( "abc漢字".replace( /[^\x00-\xff]/g,"aa").length ) // 7

          posted on 2012-02-22 10:57 段旭 閱讀(270) 評(píng)論(0)  編輯  收藏 所屬分類: JQuery

          主站蜘蛛池模板: 麻栗坡县| 湖北省| 阿荣旗| 苗栗市| 宣武区| 贵德县| 贡嘎县| 东宁县| 稻城县| 土默特左旗| 浑源县| 健康| 绥滨县| 万载县| 仁布县| 尼勒克县| 佳木斯市| 灵武市| 通渭县| 宁城县| 惠安县| 固安县| 大石桥市| 龙海市| 鄂尔多斯市| 胶南市| 新泰市| 和龙市| 桐乡市| 黄陵县| 镇平县| 永康市| 黄龙县| 太仆寺旗| 汉阴县| 佳木斯市| 老河口市| 乌苏市| 平乡县| 舟山市| 吴川市|