初识正则

前端之家收集整理的这篇文章主要介绍了初识正则前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式的 语句
元字符

*()用于分组可以用$n
来表示
*(?:)不捕获分组

*{}量词表示数量

例如表示a个{a}
表示a到b个表示为{a,b}
表示a个以上为{a,b};

*[]查找某个范围内的字符

[0-9a-zA-Z]
查找任何从 0 至 9 的数字\查找任何从小写 a 到小写 z 的字符。\查找任何从大写 A 到大写 Z 的字符。
var va="adsn ahen ajhn akki sihj smnn uknh"
console.log(va.match(/[ae]s/))//寻找as或es
  • | 分支()相对与或的
    系统预定意元字符
  • ?表示0个或1个
  • +表示一个也上

贪婪模式与反贪婪模式

*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

var c="qqq icbkb coiwcnk tyu kjanc alnc"
var reg =/\w{4,7}/g
console.log(c.match(reg))// ["icbkb","coiwcnk","kjanc","alnc"]
var reg =/\w{4,7}?/g
console.log(c.match(reg)) ["icbk","coiw","kjan","alnc"]

前瞻

reg(?=reg1)正向前瞻
reg(?!reg1)反向前瞻

正则对象属性

*lastIndex
属性存放一个整数,它声明的是==上一次匹配文本之后==的第一个字符的位置

<script type="text/javascript">
var str = "The rain in Spain stays mainly in the plain";
var patt1 = new RegExp("ain","g");

patt1.test(str)
document.write("Match found. index now at: " + patt1.lastIndex);
</script>
常用的正则匹配

利用正则表达式限制网页表单里的文本框输入内容

  用正则表达式限制只能输入中文:onkeyup="value=value.replace(/1/g,'') "onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/1/g,''))"
  
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/2/g,clipboardData.getData(''text'').replace(/2/g,''))"

  用正则表达式限制只能输入数字:onkeyup="value=value.replace(/3/g,'') "onbeforepaste= "clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/3/g,''))"
  
   用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,''
* 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
 
** 只能包含字符、数字和下划线。
 
* 验证是否含有^%&'',;=?$"等字符:“[^%&'',;=?$x22]+”
 
** 只能输入汉字:“^[u4e00-u9fa5],{0,}$”
 
 验证Email地址:“^w+[-+.]w+)@w+([-.]w+).w+([-.]w+)$”
  

 * 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
 
 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
  “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
 
* 验证身份证号(15位或18位数字):“^d{15}|d{}18$”
 
 *验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
 
* 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
   正确格式为:“01”“09”和“1”“31”。
 
* 匹配中文字符的正则表达式: [u4e00-u9fa5]

 匹配空行的正则表达式:n[s| ]r

匹配HTML标记的正则表达式:/<(.)>.|<(.*) />/

匹配首尾空格的正则表达式:(^s)|(s$)

匹配Email地址的正则表达式:w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?


  1. u4E00-u9FA5
  2. uFF00-uFFFF
  3. d

猜你在找的正则表达式相关文章