Javascript正则表达式的用法

 

1、“.”为通配符,表示任何一个字符,例如:“a.c”可以匹配“anc”、“abc”、“acc”;

2、“[]”,在[]内可以指定要求匹配的字符,例如:“a[nbc]c”可以匹配“anc”、“abc”、“acc”;但不可以匹配“ancc”,a到z可以写成[a-z],0到9可以写成[0-9];

3、数量限定符号,表示匹配次数(或者叫做长度)的符号:
包括:“*”——0次或者多次
“+”——1次或者多次
“?”——0次或者1次
“{n}”——匹配n次,n为整数
“{n,m}”——匹配从n到m之间的某个数的次数;n和m都是整数;
“{n,}”——匹配n到无穷次之间任意次数;
“{,m}”——匹配0到m之间任意次数;
他们放到匹配格式的后面:
例如:
电话号码:0755-12345678,075512345678(假设前面3或者4位,后面7或者8位,并且中间的减号可有可无)
都是符合规定的,那么可以用如下格式来匹配:[0-9]{3,4} -? [0-9]{7,8};
注意:“”为转义字符,因为“-”在正则表达式用有代表一个范围的意义,例如:前面所说的[0-9],
所以它需要转义字符“”进行转义才可使用;

4、“^”为否符号,表示不想匹配的符号,例如:[^z][a-z]+可以匹配所有除“z”开头的以外的所有字符串(长度大于2,因为“+”表示大于等于1的次数,从第二位开始都是小写英文字符);
如果^放到[]的外边则表示以[]开头的字符串;^[az][a-z]+表示a或者z开头的长度大于等于2的英文字符串;

5、“|”或运算符,例如:a[n|bc|cb]c可以匹配“abcc”,“anc”,“acbc”;
6、“$”以它前面的字符结尾的;例如:ab+$就可以被“abb”,“ab”匹配;

7、一些简单表示方法:
d表示[0-9];D表示[^0-9];w表示[A-Z0-9];W表示[^A-Z0-9];s表示[tnrf],就是空格字符包括tab,空格等等;S表示[^tnrf],就是非空格字符;

8、常用的匹配:
匹配中文字符: “[u4e00-u9fa5]”;
匹配双字节字符(包括汉字在内):“[^x00-xff]”;
匹配空行的正则表达式:“n[s| ]*r”;
匹配HTML标记的正则表达式:“/<(.*)>.*</1>|<(.*) />/”;
匹配首尾空格的正则表达式:“(^s*)|(s*$)”;
匹配非负整数(正整数 + 0):“^d+$”;
匹配正整数:“^[0-9]*[1-9][0-9]*$”;
匹配非正整数(负整数 + 0):“^((-d+)|(0+))$”;
匹配负整数:“^-[0-9]*[1-9][0-9]*$”;
匹配整数:“^-?d+$”;
匹配非负浮点数(正浮点数 + 0):“^d+(.d+)?$”
匹配正浮点数:“^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]* ))$”;
^((-d+(.d+)?)|(0+(.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
匹配浮点数:“^(-?d+)(.d+)?$”;
匹配由数字、26个英文字母或者下划线组成的字符串:“^w+$”;
匹配email地址:“^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$”;
匹配url:“^[a-zA-z]+://匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$”

一些常用的正则表达式

<strong>//匹配Email地址</strong>
w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*
//匹配中文字符
[u4e00-u9fa5]
<strong>//匹配15位或18位身份证</strong>
(^d{15}$/)|(d{17}(?:d|x|X)$
<strong>//匹配IP地址</strong>
d+.d+.d+.d+
//匹配空白行
ns*r //可以用来删除空白行
//匹配双字节字符(包括汉字在内)
[^x00-xff]
//匹配首尾空白字符
^s*|s*$
<strong>//匹配国内电话号码</strong>
d{3}-d{8}|d{4}-d{7} //评注:匹配形式如 0511-4405222 或 021-87888822
<strong>//匹配手机号</strong>
/^1(3|5|8)d{9}$/
//匹配IMG标签
&lt;img[^&gt;]+&gt;
//匹配IMG地址
&lt;img.+?src=(['"]?)([^&gt;s]+)1.*?&gt;
//匹配HTML标记
&lt;(S*?)[^&gt;]*&gt;.*?&lt;/1&gt;|&lt;.*? /&gt;
<strong>//匹配URL网址</strong>
(ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&amp;%@!-/]))?
<strong>//匹配腾讯QQ号:</strong>
[1-9][0-9]{4,} //评注:腾讯QQ号从10000开始
//匹配中国邮政编码
[1-9]d{5}(?!d) //评注:中国邮政编码为6位数字
//匹配特定数字:
^d+$ //匹配数字
^[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)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
//匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
^[a-zA-Z]w{5,17}$ // 以字母开头,长度在6~18之间,只能包含字符、数字和下划线

时间: 2024-08-04 06:03:17

Javascript正则表达式的用法的相关文章

javascript 正则表达式用法 小结_正则表达式

javascript正则表达式用法: 复制代码 代码如下: function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert("ok"); return true; } else { return false; } } //另一种写法 复制代码 代码如下: function checkreg(myreg,mytext) { var pattern = myreg; //或者 var pattern = new RegExp(

PHP和javascript常用正则表达式及用法实例_php实例

在计算机科学中,正则表达式用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在WEB开发中,正则表达式通常用来检测.查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符合规则的页面内容等等. 今天我们分别用PHP和Javscript向大家介绍WEB开发中最常用最实用的正则表达式及其用法,正则表达式是一门学科,不可能使用一篇文章来讲解完,理论的东西网上很多,有兴趣的同学可以搜一大把.不过你也许没必要去埋头学习琢磨不透的正则表达式,看本文和实例给您呈现常用.实用的正则

javascript正则表达式之search()用法实例_javascript技巧

本文实例讲述了javascript正则表达式之search()用法.分享给大家供大家参考. 具体实例代码如下: 复制代码 代码如下: <html> <head> <title>javascript正则表达式之search()实例</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script ty

javascript 正则表达式用法 小结

javascript正则表达式用法: 复制代码 代码如下: function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert("ok"); return true; } else { return false; } } //另一种写法 复制代码 代码如下: function checkreg(myreg,mytext) { var pattern = myreg; //或者 var pattern = new RegExp(

PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)_php技巧

本文实例讲述了PHP正则表达式基本用法.分享给大家供大家参考,具体如下: Demo1.php <?php //尝试着写第一个正则表达式 //第一个参数,表示模式(就是和字符串去比较,匹配) //第二个参数,表示字符串 //如果整个函数模式和字符串比较后匹配了,那么返回真(true)1,否则返回假(false)0 //什么叫匹配,就是一个一个的比较过去 //按照什么规则??按照模式来匹配 //只要模式全部通过,那么就通过 //匹配和相等是两个概念 //因为目前的模式是一个整体,php //所以,字

JavaScript正则表达式快速判断技巧

原文:JavaScript正则表达式快速判断技巧 这里是JS的正则的一点心得,并不是最完整的规则汇总,更侧重实际运用中的快速判断,初学者接触正则之后往往会被一堆星号括号给弄晕,有了一些速判技巧就能从整体上把握从而不慌乱. JS正则快速判断技巧的核心就是:注意圆括号和问号.这已经能够应付大部分实际应用了.   一.圆括号 众所周知,正则中中括号表示范围,大括号表示重复次数,圆括号表示分组. 圆括号表示分组,但是分组内还有很多文章,细分一下:       (1):圆括号本身表示分组,同时会保存匹配的

javascript正则表达式的基本知识

javascript正则表达式的基本知识 1     javascript 正则对象创建 和用法     声明javascript 正则表达式          var reCat = new RegExp("cat");       你也可以      var reCat = /cat/;      //Perl 风格   (推荐) 2 学习最常用的 test exec match search  replace  split 6个方法    1) test  检查指定的字符串是否存

常用JavaScript正则表达式

1. JavaScript正则表达式的实现 JavaScript对正则表达式的支持是通过ECMAScript中的RegExp类实现的,RegExp对象的构造函数可以带一个或两个参数.第一个参数描述需要进行匹配的模式字符串,第二个参数指定了额外的处理指令. 示例代码:  程序代码 var re=new RegExp("test","gi"); 实现方法二:使用Perl风格的语法(较常用)  程序代码 var re=/test/gi;  //这种方式和上面是一样的效果

浅谈JavaScript正则表达式分组匹配_javascript技巧

语法 元字符:(pattern) 作用:用于反复匹配的分组 属性$1~$9 如果它(们)存在,用于得到对应分组中匹配到的子串 \1或$1 用于匹配第一个分组中的内容 \2或$2 用于匹配第一个分组中的内容 ... \9或$9 用于匹配第一个分组中的内容 用法示例 var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组 //对应关系 //RegExp.$1 <-> (A+) //RegExp.$2 <-> ((B|C|D)+) //RegExp.