常用正则表达式(常用正则表达式搜索)
本篇文章给大家谈谈常用正则表达式,以及常用正则表达式搜索对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JS正则表达式
一. 正则表达式
正则表达式:其实就是一种匹配规则,用于检索字符串
定义正则表达式的两种方式:1.直接定义 2.构造函数定义
那么正则表达式正则强大的地方是它可以写 通配符(拥有特殊含义的字符)
二. 通配符
\w 表示:字母、数字、下划线
\W 表示:除了字母、数字、下划线以外的字符
\d 表示:数字
\D 表示:非数字
^ 表示:以^符号后面的第一个字符开头
表示:以表示:以符号前面的第一个字符结尾
{n} 表示:重复n次
{n,m} 表示:重复n到m次
[xyz] 表示:其中任意一个字符
+ 表示:重复前一项1次或多次 等价于 {1,}
* 表示:重复前一项0次或多次 等价于 {0,}
? 表示:重复前一项0次或1次 等价于 {0,1}
. 表示:除了换行符以外的任意一个字符
\. 表示:.字符 ^ 表示:^ \表派搜示:表示:
可以用()将多个局竖字符作为一个整体
\w 等价于 [0-9a-zA-Z_]
| 表示:或者
[\u4E00-\u9FA5] 是常用汉字的unicode编码范围
三. 正则练习
四. 正则表达式配合字符串的方法
replace()方法
默认情况下,replace()方法,只会替换字符串中匹配的第一段内容
使用正则表达式,添加全局匹配修饰符g,可以替换匹配全部内容
使用正则表达式,添加忽略大小写修饰符i,在匹配内容时会忽略大小写
search()方法
可以通过正则表达式查找位置
五. 添加学生练习
!DOCTYPE html
html
head
meta charset="UTF-8"
meta http-equiv="X-UA-Compatible" content="IE=edge"
meta name="viewport" content="width=device-width, initial-scale=1.0"
title添加学生/title
style
.err{
color: red;
}
.ok{
color: green;
}
/style
/head
body
form
table
tr
td姓名:/td
td
input type="text" id="name"
span id="nameMsg"/span
/td
/tr
tr
td年龄:/td
td
input type="text" id="age"
span id="ageMsg"/span
/td
/tr
tr
td性别:/td
td
input checked name="sex" type="radio" value="0"男
input name="sex" type="radio" value="1"女
/td
/tr
tr
td爱好:/td
td
input name="hobby" type="checkbox" value="抽烟"抽烟
input name="hobby" type="checkbox" value="喝酒"喝酒
尘腊历 input name="hobby" type="checkbox" value="烫头"烫头
input name="hobby" type="checkbox" value="睡觉"睡觉
/td
/tr
tr
td年级:/td
td
select id="grade"
option value="0"请选择/option
option value="1"大一/option
option value="2"大二/option
option value="3"大三/option
option value="4"大四/option
/select
span id="gradeMsg"必须要选择一个年级/span
/td
/tr
tr
td邮箱:/td
td
input type="text" id="email"
span id="emailMsg"请输入正确的邮箱格式/span
/td
/tr
tr
td电话:/td
td
input type="text" id="phone"
span id="phoneMsg"请输入正确的电话格式/span
/td
/tr
tr
td生日:/td
td
input type="text" id="bornDate"
span id="bornDateMsg"请输入正确日期格式/span
/td
/tr
tr
td/td
td
button type="submit"提交/button
button type="reset"重置/button
/td
/tr
/table
/form
script
//获取姓名文本框
let name = document.querySelector('#name')
//获取年龄文本框
let age = document.querySelector('#age')
//表单的提交事件
document.querySelector('form').onsubmit = function(){
// 返回true提交表单,返回false不提交表单
if(checkName() checkAge()){
return true
}else{
return false
}
}
//姓名文本框失去焦点
name.onblur = checkName
//验证姓名
function checkName(){
//定义验证姓名的正则
let reg = /^[\u4E00-\u9FA5]{2,4}$/
// 调用验证方法
return checkInput("#nameMsg",name,reg,'姓名正确','姓名必须是2-4位汉字')
}
//年龄文本框失去焦点
age.onblur = checkAge
//验证年龄
function checkAge(){
//定义验证年龄的正则
let reg = /^\d{1,2}$|^1([0-1]\d)|20$/
// 调用验证方法
return checkInput("#ageMsg",age,reg,'年龄正确','年龄必须是0-120之间')
}
//验证方法,参数分别是:span元素Id,表单元素对象,正则规则,验证成功消息,验证失败消息
function checkInput(spanId,_this,reg,okMsg,errMsg){
// 获取消息span
let span = document.querySelector(spanId)
//获取信息
let val = _this.value
if(!reg.test(val)){
span.className="err"
span.innerHTML = errMsg
return false //验证失败返回false
}else{
span.className="ok"
span.innerHTML = okMsg
return true //验证成功返回true
}
}
/script
/body
/html
[img]比较常用证件正则表达式验证大全
下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。
//
身份证验证
jQuery.validator.addMethod("isIdCard",
function(value,
element,
type)
{
if
($(type).val()
===
'1')
{
var
re
=
/(^/d{15}$)|(^/d{18}$)|(^/d{17}(/d|X|x)$)/;
return
this.optional(element)
||
(re.test(value));
}
else
{
return
true;
}
},
"身份证格式不正确");
//
护照验证
jQuery.validator.addMethod("isPassport",
function(value,
element,
type)
{
if
($(type).val()
===
'2')
{
var
re1
=
/^[a-zA-Z]{5,17}$/;
var
re2
=
/^[a-zA-Z0-9]{5,17}$/;
return
this.optional(element)
||
(re2.test(value))
||
re1.test(value);
}
else
{
return
true;
}
},
"护照格式不正确");
//
港澳通行证验证
jQuery.validator.addMethod("isHKMacao",
function(value,
element,
type)
{
if
($(type).val()
===
'3')
{
var
re
=
/^[HMhm]{1}([0-9]{10}|[0-9]{8})$/;
return
this.optional(element)
||
(re.test(value));
}
else
{
return
true;
}
},
"港澳通行证格式不正确");
//
台湾通行证验证
jQuery.validator.addMethod("isTaiwan",
function(value,
element,
type)
{
if
($(type).val()
==
"4")
{
var
re1
=
/^[0-9]{8}$/;
var
re2
=
/^[0-9]{10}$/;
return
this.optional(element)
||
(re1.test(value))
||
(re2.test(value))
}
else
{
return
true;
}
},
"台湾通行证格式不正确");
以上内容是小编给大家介举此汪绍比较常用扒闹证件正则表达式验证大全,希望大家喜欢正仔。
正则表达式(4)----常用的正则表达式
正则表达式(2)---匹配规则
正则表达式(3)---运算符优先级
正则表达式(4)----常用的正则表达式
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$
零和非零开头的数字:^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})$
正数、负数、和小数:^(-|+)?\d+(.\d+)?$
有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
非零的正整数:^[1-9]\d 或 ^+?[1-9][0-9] $
非零的负整数:^-[1-9][]0-9"*
非负整数:^\d+
非正整数:^-[1-9]\d*|0
非负浮点数:^\d+(.\d+)?
非正浮点数:^((-\d+(.\d+)?)|(0+(.0+)?))
正浮点数:^[1-9]\d .\d |0.\d [1-9]\d
负浮点数:^-([1-9]\d .\d |0.\d [1-9]\d )
浮点数:^(-?\d+)(.\d+)?
二、校验字符的表达式
汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母指毕组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字唯弯芹但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+
可以输入含有^%',;=? \x22]+
禁止输入含有 的字符:[^ \x22]+
三、特殊需求表达式
Email地址:^\w+([-+.]\w+) @\w+([-.]\w+) .\w+([-.]\w+)*$
域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL:[a-zA-z]+://[^\闹缓s]* 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%=]*)?$
手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^((\d{3,4}-)|\d{3.4}-)?\d{7,8}$
国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
身份证号(15位、18位数字),最后一位是校验位,可能为数字或* * 字符X:( \d{15}$)|(^\d{18}$)|( \d{17}(\d|X|x)$)
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间):^(?=. \d)(?=. [a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间):^(?=. \d)(?=. [a-z])(?=.*[A-Z]).{8,10}$
日期格式:^\d{4}-\d{1,2}-\d{1,2}
一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
钱的输入格式:
1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$
3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$
4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧。下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$
5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$
6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$
7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
9.备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
中文字符的正则表达式:[\u4e00-\u9fa5]
双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
空白行的正则表达式:\n\s*\r (可以用来删除空白行)
HTML标记的正则表达式:(\S ?)[^] . ?|. ? / ( 首尾空白字符的正则表达式:^\s |\s ) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
IP地址:((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))
Python中正则表达式的常用元字符有哪些呢?
Python 中常用的正则表达式元字符包括:
.:匹配任意一个字符(除了换行符 \n)。
^:匹配字符串的开头。
$:匹配字符串的结尾。
*:匹配前面的字符 0 次或多次。
+:匹配前面的字符 1 次或多次。
?:匹配前面的字符 0 次或 1 次。
{n}:匹配前面的字符恰好 n 次。
{m,n}:匹配前面的字符至少 m 次,至多 n 次。
[]:匹配方括号内的任意一个字符。
():标记一个子表达式的开始和结束位置。
|:表示或,匹配符号左右两边的任意一个表达式。
\:用来转义元字符或者表示特殊字符。
这些耐散元字符在正则表达式晌亩握中经常使用,可以组合成各种复杂的宴庆正则表达式,用于字符串的匹配和替换等操作。
关于常用正则表达式和常用正则表达式搜索的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。