JS常用正则表达式集合

2019-03-08 network gramer 点击: 评论
常用的数字正则(严格匹配) 正则 含义 ^[1-9]d*$ 匹配正整数 ^-[1-9]d*$ 匹配负整数 ^-?[1-9]d*$ 匹配整数 ^[1-9]d*|0$

天晟网 小编在整理编程教程 > JavaScript > 看到JS常用正则表达式集合 ,下面是小编47为您找到的38054相关内容,希望47对您有帮助。

//常用的数字正则(严格匹配)
//正则  含义
/^[1-9]d*$/    //匹配正整数
/^-[1-9]d*$/   //匹配负整数
/^-?[1-9]d*$/  //匹配整数
/^[1-9]d*|0$/      //正整数+0(匹配非负整数)
/^-[1-9]d*|0$/     //负整数+0(匹配非正整数)
/^[1-9]d*.d*|0.d*[1-9]d*$/        //匹配正浮点数
/^-([1-9]d*.d*|0.d*[1-9]d*)$/    //匹配负浮点数
/^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$/         //匹配浮点数
/^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$/              //匹配正浮点数+0(非负浮点数)
/^-(-([-19]d*.d*|0.d*[1-9]/d*))|0?.0+|0$/       //匹配负浮点数+0(非正浮点数)

//常用字符串正则
//正则  含义
/^[A-Za-z]+$/或者/^[a-z]+$/i            //匹配26个英文字母组成的字符串
/^[A-Z]+$/                                         //匹配26个英文大写字母组成的字符串
/^[a-z]+$/                                          //匹配26个英文小写字母组成的字符串
/^[A-Za-z0-9]+$/                               //匹配26个英文字母和数字组成的字符串
/^w+$/                                             //匹配26个英文字母和数字、下划线组成的字符串

//匹配双字节字符(包括汉字在内)
/[^x00-xff]/                           //计算字符串的长度(双字节字符长度2,ASCII字符为1) 例子:
console.log('abc'.replace(/[^x00-xff]/g,'aa').length)        //3
console.log('汉字'.replace(/[^x00-xff]/g,'aa').length)       //4
console.log('abc汉字'.replace(/[^x00-xff]/g,'aa'.length))  //7

//匹配html标记的正则表达式
//先说说网上流传的版本:  
<(S*?)[^>]*>.*?</1>|<.*? />  
//   *?  *表示0个或多个,?表示0个或1个,两个叠加起来标识0个多个,与*的功能重叠  
//   (S*?)  标签的长度必须大于0,因此不能用*?   
//   |<.*?/>  没有分组,无法获取以<div/>这种自关闭格式书写的标签  
//   </1>  
//   <.*? />   有的标签是不关闭的,比如<br><hr>,因此不能强制关闭  
//   修正如下:  
var rtag = /^<([a-z]+)s*/?>.*(?:</1>)?$/i  
rtag.exec( '<-div></-div>') // null   
rtag.exec( '<div>abc') // ["<div>abc", "div"]  
//这个表达式也不完善,比如第二条测试语句,这么写是为了能提取中包含了文本内容的标签,如果要严格匹配,可再次修改为:  
var rtag = /^<([a-z]+)s*/?> (?:</1>)?$/i // 去掉了中间的.*  
//这个正则的应用范围仅限于简单的标签匹配、提取,不能匹配嵌套标记。

//匹配首位空白字符
先说说网上流传的版本:
^s*|s*$
可以删除行首行尾的空白字符,例如:
' t nr abc t nr '.replace( /^s*|s*$/g, '' ) // abc
但是用s*不能判断出字符串是否在开头或结尾处有s,例如:
/^s*|s*$/.test( 'abc' ) // true
修正如下:
^s+|s+$
' t nr abc t nr '.replace( /^s+|s+$/g, '' ) // abc
/^s+|s+$/.test( 'abc' ) // false  


//验证邮箱正则:
/^[a-zA-Zd_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/;
解释:
至少由一个任意数字字母下划线横杠开头;
紧接着是一个“@”字符;
然后又是至少一个任意的数字字母下划线横杠;
然后是一个子表达式,".开头后跟着至少一个数字,字母,下划线,横杠";

手机号验证:
/^((13[0-9]{1})|159|153|186){1}d{8}$/;

电话号码验证:
/^(d{3,4})?[- ]?(d{7,8})$/;

转载文章请标明来自天晟网 - Timsion.com > 编程教程 > JavaScript >
标题:JS常用正则表达式集合
网址:http://www.timsion.com/javas/38054.html

上一篇:js跳出循环的方法(break、continue、return)
下一篇:jquery实现键盘左、右方向键翻页的方法

免责声明:以上内容来自互联网和用户投稿,不代表本站的观点和立场,版权归原作者所有,如有侵权,请与我们联系。