加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常用正则表达式

发布时间:2020-12-13 22:07:06 所属栏目:百科 来源:网络整理
导读:简介 正则表达式描述了一种字符串匹配的模式,即可以使用一系列的不同字符和特殊字符俩构建能够明确描述文本字符串的匹配模式,可以用来检查一个字符串是否含有某种子字符串、替换匹配的子字符串或者从某个字符串中取出符合某个条件的子字符串等。 正则表达

简介

正则表达式描述了一种字符串匹配的模式,即可以使用一系列的不同字符和特殊字符俩构建能够明确描述文本字符串的匹配模式,可以用来检查一个字符串是否含有某种子字符串、替换匹配的子字符串或者从某个字符串中取出符合某个条件的子字符串等。

正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:

①.测试字符串的某个模式。例如,可以对一个输入字符串进行测试,测试该字符串是否在一个电话号码模式或一个信用卡号码模式,称为数据有效性验证。

②.替换文本,可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。

③..根据模式匹配,从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定的文字。


常用正则表达式

(1)普通字符匹配

下面是一些在网页编程中经常会遇到的字符匹配模式。
① 匹配中文字符的正则表达式
————————————————
[u4e00-u9fa5]
————————————————
② 匹配双字节字符(包括汉字在内)
————————————————
[^x00-xff]
————————————————
③ 匹配空行的正则表达式
————————————————
n[s|]*r
————————————————
④匹配HTML标记的正则表达式
————————————————
/<(.*)>.*</1>|<(.*)/>/
————————————————
⑤匹配首尾空格的正则表达式
————————————————
(^s*)|(s*$)
————————————————
⑥ 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
————————————————
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
————————————————
⑦ 匹配网址URL的正则表达式
————————————————
http://([w-]+.)+[w-]+(/[w-./?%&=]*)?
[a-zA-z]+://[^s]* (通用版本)
————————————————
⑧ 匹配E-mail地址的正则表达式
————————————————
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
————————————————

(2)数字及英文字符的限定

1、非负整数:^d+$

2、正整数:^[0-9]*[1-9][0-9]*$

3、非正整数:^((-d+)|(0+))$

4、负整数:^-[0-9]*[1-9][0-9]*$

5、整数:^-?d+$

6、非负浮点数:^d+(.d+)?$

7、正浮点数:^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$

8、非正浮点数:^((-d+.d+)?)|(0+(.0+)?))$

9、负浮点数:^(-((正浮点数正则式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大写串:^[A-Z]+$

12、英文小写串:^[a-z]+$

13、英文字符数字串:^[A-Za-z0-9]+$

14、英数字加下划线串:^w+$

(3)生活常用号码

① 邮政编码:[1-9]d{5}(?!d)
② 手机号码:^(((d{2,3}))|(d{3}-))?13d{9}$
③ 国内电话号码:d{3}-d{8}|d{4}-d{7}
E-mail地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
⑤ 腾讯QQ号: [1-9][0-9]{4,}

⑥ 身份证号:d{15}|d{18}

匹配ip地址:d+.d+.d+.d+


(4)限制表单所输入的内容

① 用正则表达式限制只能输入中文:
————————————————————
onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,")"
onbeforepaste="clipboardData('text',cliboardData.getData('text').replace(/[^d]/g,"))"
————————————————————
② 用正则表达式限制只能输入数字
————————————————————
onkeyup="value=value.replace(/[^d]/g,")"
onbeforepaste="clipboardData('text',"))"
————————————————————


总结:正则表达式的使用给我们匹配字符串带来了巨大的便利,虽然上述介绍了很多的常用正则表达式,但是,我们还不会创建正则表达式,所以,要想学好正则表达式,我们就要将正则表达式的语法规则多加练习才行啊!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读