您的位置:首页 > Web前端 > JavaScript

Web前端11:JavaScript正则表达式

2020-08-08 17:00 537 查看

正则表达式概述

  • 正则表达式(Regular Expression),是由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则。
  • 正则表达式常用于在一段文本中搜索,匹配或替换特定形式的文本。如:词语出现频率统计、验证字符串是否符合邮箱格式,屏蔽一篇帖子中的限制性词语等。

正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

var regexp = /^1[3-9]\d{9}$/;
var input = '15810204882';

console.log(regexp.test(input));

直接量字符
定义一个正则表达式语法
/pattern/attributes

说明:

  • 直接量字符串左右不能添加’ 或者“。
  • 两个/不能省略;
  • 参数pattern是一个正则表达式字符串;
  • 参数attributes是一个可选的字符串,可以在g,i和m范围内指定,分别用于指定全局匹配,不区分大小写的匹配和多行匹配。

字符类

  • 所有的单个大小写字母,数字都是一个正则表达式,用以匹配单个字符,这个字符与它本身相同
var regexp = /ipod/;
var data = 'Apple Ipod is cool';
console.log(regexp.test(data));
  • 正则表达式中有些字符有特殊的语法含义,是不能直接使用的,必须使用\进行转移后才能使用
    . \ / * ? + [ ( ) ] { } ^ $ |

重复

  • 正则表达式中可以使用如下特殊字符定义字符的出现频次——量词元字符

选择,分组和引用

  • 正则表达式使用如下语法匹配一个范围内的字符

元字符

  • 元字符是拥有特殊含义的字符,正则表达式中使用元字符引用来进行简化

指定匹配位置

  • 可以使用如下字符进行指定位置的匹配

修饰符

  • 正则表达式中可以使用如下三个属性修饰符

RegExp对象

创建正则表达式对象有两种方法:
var patt1 = /pattern/attributes;
调用RegExp构造方法:
var patt2 = new RegExp(pattern,attributes);

var regexp1 = /\d{2,3}/ig;
var regexp2 = new RegExp("\d{2,3}","ig");

RegExp的属性

RegExp的方法

正则表达式常见例子

判断邮箱的格式
第一种:

<!-- 邮箱正则表达式 -->
请输入您的邮箱地址:<input type="text" name="text" id="t">
<button onclick="queding()">确定</button>
<script>

function queding(){
var ema = document.getElementById("t").value;
var email = /^[A-z0-9]\w{5,20}]+@[0-9A-z]\.[A-z]{2,4})$/
if(email.test(ema)){
return true
}else{
return false
}
}

第二种:

<!-- 邮箱正则表达式 -->
请输入您的邮箱地址:<input type="text" name="text" id="t">
<button onclick="q()">确定</button>
<script>

function q(){
var ema = document.getElementById("t").value;
console.log(ema)
var em = /\w+[@]\d+(.[a-z]+)/;
console.log(em.test(ema))
}
</script>

过滤敏感词

请输入一句话:<input type="text" name="" id="str">
<button onclick="ok()">ok</button>
<script>
function ok(){
var new_str = document.getElementById("str").value
var reg = /lili|lala|huhu|huahua/g ;//改成其他敏感词即可
console.log(new_str)
new_str1 = new_str.replace(reg,'*')
console.log(new_str1)
}
document.write("<br>")

验证身份证号

请输入你的身份证号: <input type="text" id='num'>
<button onclick="okk()">okk</button>
<script>
function okk(){
var new_num = document.getElementById("num").value;
var reg = /^[1-8][0-9]{5}([18|19|20]+[0-9]{2})(0?[1-9]|1[0-2])\d{2}([0-9]{3})([0-9]|X)$/
console.log(new_num)
console.log(reg.test(new_num))
}

验证ip地址

请输入你的ip地址:<input type="text" name="" id="add">
<button onclick="okkk()">okkk</button>
<script>
function okkk(){
var ipp = document.getElementById("add").value
var reg = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/
console.log(ipp)
console.log(reg.test(ipp))
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: