`
alex8946
  • 浏览: 359760 次
  • 性别: Icon_minigender_1
  • 来自: 广东广州
社区版块
存档分类
最新评论

以前正规表达式的学习笔记

阅读更多
js 代码
  1. 以前正规表达式的学习笔记:       
  2. 一。概念及语法定义       
  3. 定义:正则表达式是一种可以用于模式匹配和替换的强有力的工具。       
  4. 语法:       
  5. 定界符:“/”。       
  6.         其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。       
  7.       
  8. 元字符:“+”,“*”,“?”。       
  9.         “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。       
  10.         “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。       
  11.         “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。       
  12. 几个特殊的元字符:       
  13.     \s:用于匹配单个空格符,包括tab键和换行符;           
  14.     \S:用于匹配除单个空格符之外的所有字符;           
  15.     \d:用于匹配从0到9的数字;           
  16.     \w:用于匹配字母,数字或下划线字符;           
  17.     \W:用于匹配所有与\w不匹配的字符;           
  18.     . :用于匹配除换行符之外的所有字符。           
  19.       
  20. 指定模式在匹配对象中出现的频率:       
  21.     {n} n 是一个非负整数。匹配确定的 n 次。       
  22.     {n,} n 是一个非负整数。至少匹配 n 次。       
  23.     {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。       
  24.       
  25. 定位符:       
  26.     “^”定位符规定匹配模式必须出现在目标字符串的开头          
  27.     “$”定位符规定匹配模式必须出现在目标对象的结尾          
  28.     “\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一          
  29.     “\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,          
  30.     即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。       
  31.       
  32. 在匹配模式中指定某一个范围而不局限于具体的字符:       
  33.         []。如:[A-Z]从A到Z范围内任何一个大写字母相匹配。        
  34.     说明:当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。       
  35. 优先级如下:       
  36.     1.\ 转义符          
  37.     2.(), (?:), (?=), [] 圆括号和方括号          
  38.     3.*, +, ?, {n}, {n,}, {n,m} 限定符          
  39.     4.^, $, \anymetacharacter 位置和顺序          
  40.     5.|“或”操作        
  41.       
  42. 正规表达式对象包含正则表达式模式以及表明如何应用模式的标志。       
  43.     语法有:       
  44.     1。 re = /pattern/[flags]          
  45.     2。 re = new RegExp("pattern",["flags"])        
  46. 参数        
  47. re        
  48. 必选项。将要赋值为正则表达式模式的变量名。        
  49. Pattern        
  50. 必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。        
  51. Flags        
  52. 可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:        
  53. 代码       
  54. g (全文查找出现的所有 pattern)           
  55. i (忽略大小写)           
  56. m (多行查找)         
  57.       
  58. exec方法:       
  59. 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。        
  60. re.exec(str)       
  61. match 方法        
  62. 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。       
  63. str.match(re)        
  64. search 方法        
  65. 返回与正则表达式查找内容匹配的第一个子字符串的位置。       
  66. str.search(re)       
  67. test方法       
  68. 返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。        
  69. re.test(str)        
  70.       
  71. 二:网摘实例       
  72. 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:       
  73. 只能输入数字:“^[0-9]*$”       
  74. 只能输入n位的数字:“^d{n}$”       
  75. 只能输入至少n位数字:“^d{n,}$”       
  76. 只能输入m-n位的数字:“^d{m,n}$”       
  77. 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”       
  78. 只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”       
  79. 只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”       
  80. 只能输入非零的正整数:“^+?[1-9][0-9]*$”       
  81. 只能输入非零的负整数:“^-[1-9][0-9]*$”       
  82. 只能输入长度为3的字符:“^.{3}$”       
  83. 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”       
  84. 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”       
  85. 只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”       
  86. 只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”       
  87. 只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”       
  88. 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,       
  89. 只能包含字符、数字和下划线。       
  90. 验证是否含有^%&’,;=?$”等字符:“[^%&’,;=?$x22]+”       
  91. 只能输入汉字:“^[u4e00-u9fa5],{0,}$”       
  92. 验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”       
  93. 验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”       
  94. 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”       
  95.       
  96. 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,       
  97.       
  98. “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。       
  99. 验证身份证号(15位或18位数字):“^d{15}|d{}18$”       
  100. 验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”       
  101. 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”       
  102.       
  103. 正确格式为:“01”“09”和“1”“31”。       
  104.       
  105. 匹配中文字符的正则表达式: [u4e00-u9fa5]       
  106. 匹配双字节字符(包括汉字在内):[^x00-xff]       
  107. 匹配空行的正则表达式:n[s| ]*r       
  108. 匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/       
  109. 匹配首尾空格的正则表达式:(^s*)|(s*$)       
  110. 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*       
  111. 匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?       
  112.      
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics