正则表达式--规则表达式

今天学习了正则表达式的一些基础知识,

1.概念:

首先了解了一下正则表达式的含义:一些便于计算机识别的规则,能够快速方便地对字符进行操作。

正如我们人都是有常识的,当我们遇到像:15733541865,[email protected]这样的东西想都不用想就知道会是一个手机号,或者一个邮箱地址。

而对于计算机而言,也有一写规则表达式,它是能令计算机读懂的(所以对我们来说看起来比较费劲),也相当于计算机的常识,一遇到就知道你要干什么。

2.创建正则对象:

var re = RegExp();  //  js表达方式

var re = / /;     //  perl 表达方式(简便)

3.基础用法:

var str = ‘abcdesg‘;

var re = /abc/;

alert(str.search(re));    ----查找符合re表达式的第一个字符所在的位置

var re = /a/i  ;    ----i表示不区分大小写

var re = /a/g ;  ------g表示选中所有满足a的字符

var re = /a | b |c /     ------- 用|来表示多个查找字符

var re = / \d /;          -----转义  表示数字digital

var re = /\w/             -----转义 word 字母数字下划线(应用用户名检验)

var re= /\s/               -----转义 空格

var re= / \D/             -----除了数字

var re= / \W/            -----除了word

var re=/ \S /             -----除了空格

var re = /\d+/g         ---------  +代表许多,可以显示不同长度的数字

str.replace(/a/g i  ,’T’);    ---------替换(g)全部a,无论大小写(i),变成T,

var re= /1[abc]2/            -------用[]来表示 或者  相当var re =/1a2|1b2|1c2/

var re = /<. +>/g            -------- . 表示所有字符,+表示字符任意长度

var re = /<[ ?<>]>/g;    -----------[^<>]表示不能拥有这种情况

{n,m}    ------至少出现n次,最多m

{n,}         --------至少n次

*            -----------任意次  {0,}

?           ---------零次或一次 {0,1}

+          ---------一次或任意次{1,}

{n}         ---------正好n次

/?\s+|\s+$/          -----------去除行首行尾空格

[\u4e00-\u9fa5]       ---------------匹配中文:

4.应用例子:

4.1过滤敏感词

转换前<textarea id="text1" rows="10" cols="42"></textarea><br/>
      <input type="button" id="btn1" value="点击转换"/><br/>
转换后<textarea id="text2" rows="10" cols="42"></textarea>--><script>
    var oText1 = document.getElementById(‘text1‘);
    var oText2 = document.getElementById(‘text2‘);
    var oBtn = document.getElementById(‘btn1‘);

    oBtn.onclick= function(){
        var re = /fuck|shit|stupied/g;            //将敏感词用正则表式表示出来
        oText2.value = oText1.value.replace(re,‘*‘);    //若otext1中的输入的value有敏感词,则将替换为*
    };
</script>

  4.2QQ号验证:

  QQ号的组成一般由5-11位数字,并且第一位不能为0

<input type="text" id="text1">
<input type="button"  value="登陆QQ" id="btn1"/>
<script>
//分析QQ号组成,第一位:1-9数字; 由5-11位组成;
var oText1 = document.getElementById(‘text1‘);
var oBtn = document.getElementById(‘btn1‘);
var re = /[1-9]\d{4,10}/g;    //{4,10}表示最少出现一次,最多出现10次

oBtn.onclick = function(){
    if(oText1.value.match(re)){
        alert(‘欢迎qq‘);
    }else{
        alert(‘您输入的不是qq‘);
    }
};
</script>

  4.3邮箱验证:

  邮箱组成:[email protected]   ----------  字母|数字|下划线  @  英文   .  英文(2-4长度)

<input type="text" id="text1">
<input type="button"  value="登陆QQ" id="btn1"/>
<script>
var oText1 = document.getElementById(‘text1‘);
var oBtn = document.getElementById(‘btn1‘);

//var re=/\[email protected][a-z0-9]+\.[a-z]{2,4}/g;    //缺点:只要字符部分符合要求就会提示true
var re=/^\[email protected][a-z0-9]+\.[a-z]{2,4}$/g;//行首行尾全部符合要求

oBtn.onclick = function(){
    if(oText1.value.match(re)){
        alert(‘是邮箱!‘);
    }else{
        alert(‘不是邮箱!‘);
    }
};
时间: 2024-10-08 04:34:24

正则表达式--规则表达式的相关文章

“正则表达式”应当称为“规则表达式”

看看它的英文:Regular expression 再看看regular:adj. 定期的:有规律的:合格的:整齐的:普通的 意思是根据某些字符串的规律设定其表达式. 再看看“正则”:一,正规:常规.二,犹正宗.<现代汉语大词典> 茅盾<追求>:“一个月前,我还想到五年六年甚至十年以后的我,还有一般人所谓想好好活下去的正则的思想.” 郑振铎<插图本中国文学史>:“差不多要在元末明初的时候,我们才见到正则的南曲作家的出现.” 主要的意思是:正规,正宗. 在汉语中,正规和规

正规则表达式判断数字

用正则表达式判断.如果你说的纯数字是指整数的话(不包含小数点),可以这样:function check(){var value = document.getElementById("inputId").value;var reg=/^[1-9]\d*$|^0$/; // 注意:故意限制了 0321 这种格式,如不需要,直接reg=/^\d+$/;if(reg.test(value)==true){ alert("都是数字!通过"); return true;}els

WebMisSharp,WebMisCentral,企业框架正则表达式规则共享专版

ElegantWM.WebUI/Application/common/src/Tools.js 欢迎大家贡献更多的正则验证规则,目前支持如下: /*****************************************************************/ /* VType自定义校验 */ /*****************************************************************/ Ext.apply(Ext.form.VTypes

egrep 扩展正规则表达式 (笔记)

grep 正规则表达式分为 Basic REGEXP 基本正规则表达式 Extended REGEXP 扩展正规则表达式 grep -A 2 表示匹配到的字符的后两行也显示 grep -B 2 表示匹配到的字符的前两行也显示 grep -C 2 表示匹配到的字符的前后两行都显示 字符匹配 .      表示任意一个字符 []     表示指定范围内的任意单个字符 [^]    表示匹配指定范围外的任意单个字符 次数匹配(扩展正规则表达式可不使用\反斜线来避免被bashell 识别) *    

[.net 面向对象程序设计进阶] (4) 正则表达式 (三) 表达式助手

[.net 面向对象程序设计进阶] (2) 正则表达式(三) 表达式助手 上面两节对正则表达式的使用及.NET下使用正则表达式作了详细说明,本节主要搜集整理了常用的正则表达式提供参考. 此外为了使用方便,编写了一个<正则表达式助手>方便测试正则表达式. 1.正则表达式助手 1.1 软件概述 软件名称: <正则表达式助手> 版本: 1.0 最后更新日期: 2015/07/01 作者: YuBinfeng 运行环境: .NET Framework 4.6及以上(常用表达式功能,需要联网

Python 正则表达式规则

正则表达式的一些匹配规则: . :用于匹配任意一个字符,如 a.c 可以匹配 abc .aac .akc 等^ :用于匹配以...开头的字符,如 ^abc 可以匹配 abcde .abcc .abcak 等$ :用于匹配以...结尾的字符,如 abc$ 可以匹配 xxxabc .123abc 等* :匹配前一个字符零次或多次,如 abc* 可以匹配 ab .abc .abcccc 等+ :匹配前一个字符一次或多次,如 abc+ 可以匹配 abc .abcc .abcccc 等? :匹配前一个字符

php正规则表达式学习笔记(几个常用函数的区别)

preg_mache()函数和 preg_mache_all()函数的区别: preg_mache()只会匹配规则中的字符一次, preg_mache_all()会匹配符合条件的所有字符! 例子对比: 正则表达式函数之preg_replace()与preg_filter()的区别: preg_replace()会保留替换过的数据,preg_filter()会保留替换和没替换过得数据.打个比方: 字符串:abc有b被匹配替换了,那么preg_replace()会得到“替换后的数据”,preg_fi

正则表达式规则语法

正则表达式有什么作用呢? 它可以: ?测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 : ?替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字: ?根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字: 下一篇给出实例,来讲解如何运用下面这些规则. 修饰符 修饰符 描述 i 执行对大小写不敏感的匹配. g 执行全局匹配(查找所有匹配而非

正则表达式规则与常见的正则表达式

常用的正则表达式汇总 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n}$". 只能输入至少n位的数字:"^\d{n,}$". 只能输入m~n位的数字:."^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$". 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$". 只能输入有1~3位小数的正实数:"