js正则表达式语法,中文正则表达式

果果英语网 2023-08-18

js正则表达式语法?: 匹配前面的表达式零次或一次{n} : 匹配确定的n次,n为非负整数{n,} : 匹配至少n次,n为非负整数{n,m} : 匹配至少n次,至多m次,n和m均为非负整数且n<=m(*,+,{n,m})? : 非贪婪匹配模式,那么,js正则表达式语法?一起来了解一下吧。

split可以用正则吗

javascript的17种正则表达式:

"^\\d+$"//非负整数(正整数+0)。

"^[0-9]*[1-9][0-9]*$"//正整数。

"^((-\\d+)|(0+))$"//非正圆芹空整数(负整数+0)。

"^-[0-9]*[1-9][0-9]*$"//负整数。

"^-?\\d+$"//整数。

"^\\d+(\\.\\d+)?$"//非负浮点数(正浮点数+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+)?)|(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+)?$"//浮点数。

主要用途:

正则表达式一种通用的,在JavaScript、PHP、Java、Python、C++等几乎所有的编程语言中都能使用;但是,不同编程语言对正则表达式语法的支持不尽相同,有的编程语言支持所有的语法,有的仅支持一个子集。

js字符串转换正则表达式

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

搜索模式可用于文本搜索和文本替换。

正则表达式是由一个字符序列形成的搜索模式。

当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

正则表达式可以是一个简单的字符档槐,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

语法

/正则表达式主扒宽体/修饰符(可选)其中修饰符是可选的。

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换行此友一个与正则表达式匹配的子串。

search() 方法使用正则表达式

实例:

使用正则表达式搜索 "php" 字符串,且不区分大小写:

var str = "Visit php!";

var n = str.search(/php/i);输出结果为:

6

search() 方法使用字符串

search 方法可使用字符串作为参数。

js关闭表单

用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)

var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

//输出 true

console.log(uPattern.test("iFat3"));

密码强度正则

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

//输出 true

console.log("=="+pPattern.test("iFat3#"));

整数正则

//正基悉整数正则

var posPattern = /^\d+$/;

//负整数正则

var negPattern = /^-\d+$/;

//整数正则

var intPattern = /^-?\d+$/;

//输出 true

console.log(posPattern.test("42"));

//输出 true

console.log(negPattern.test("-42"));

//输出 true

console.log(intPattern.test("-42"));

数字正则

可以是整数也可以是浮点数

//正数正则

var posPattern = /^\d*\.?\d+$/;

//负数正则

var negPattern = /^-\d*\.?\d+$/;

//数字正则

var numPattern = /^-?\d*\.?\d+$/;

console.log(posPattern.test("42.2"));

console.log(negPattern.test("-42.2"));

console.log(numPattern.test("-42.2"));

Email正则

//Email正则

var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

//输出 true

console.log(ePattern.test("65974040@qq.com"));

手机号码正则

//手机号正则

var mPattern = /^[1][3][0-9]{9}$/;

//输出 true

console.log(mPattern.test("13900000000"));

身份证号正则

//身份证号(18位)正则

var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

//输出 true

console.log(cP.test("11010519880605371X"));

URL正则

//URL正则

var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;

//输出 true

console.log(urlP.test("http://42du.cn"搏帆乎));

IPv4地址正则

//ipv4地址正则

var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;

//输出 true

console.log(ipP.test("115.28.47.26"));

十六进制颜色正则

//RGB Hex颜色正则

var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;

//输出 true

console.log(cPattern.test("#b8b8b8"));

日期正则

//日期正则,轿空简单判定,未做月份及日期的判定

var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;

//输出 true

console.log(dP1.test("2017-05-11"));

//输出 true

console.log(dP1.test("2017-15-11"));

//日期正则,复杂判定

var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;

//输出 true

console.log(dP2.test("2017-02-11"));

//输出 false

console.log(dP2.test("2017-15-11"));

//输出 false

console.log(dP2.test("2017-02-29"));

QQ号码正则

//QQ号正则,5至11位

var qqPattern = /^[1-9][0-9]{4,10}$/;

//输出 true

console.log(qqPattern.test("65974040"));

微信号正则

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线

var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

//输出 true

console.log(wxPattern.test("RuilongMao"));

车牌号正则

//车牌号正则

var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

//输出 true

console.log(cPattern.test("京K39006"));

包含中文正则

//包含中文正则

var cnPattern = /[\u4E00-\u9FA5]/;

//输出 true

console.log(cnPattern.test("42度"));按 Ctrl+C 按 Ctrl+C

Regex_Phones: /^[0-9],$/, // 数字和逗号

Regex_Ident: /^([a-zA-Z0-9]){1,50}$/, //英文、数字且不能包含英文标点和特殊符号(渠道标识)

Regex_IdentName: /^([\u2E80-\u9FFF]|[a-zA-Z0-9]){1,50}$/, //中文、英文、数字且不能包含英文标点和特殊符号(渠道名称)

Regex_MondyNum: /^\d+(\.\d{1,2})?$/, //金额,允许两位小数

Regex_MondyCh: /^[\u4e00-\u9fa5]+$/, //只能为中文

Regex_PhoneNum: /(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/, //电话号码和手机

Regex_ZNum: /^[1-9]\d*$/ //正整数

Regex_Name: /^[a-zA-Z][a-zA-Z0-9_@]{0,30}$/, // 用户名

Regex_NickName: /^[\u4E00-\u9FA5A-Za-z0-9_\-]+$/, // 中文/英文/数字, (昵称、组名、朋友备注名、内容名称、书名、页名)

Regex_Passport: /^1[45][0-9]{7}$|G[0-9]{8}$|P\.[0-9]{7}$|S[0-9]{7,8}$|D[0-9]{7,8}$/, // 护照

Regex_BizLience: /^([0-9a-zA-Z]{18}$|\d{15}$)/, // 营业执照,三证合一的是18位

Regex_isExitZh:/[\u4E00-\u9FA5\uF900-\uFA2D]/, // 验证是否存在中文

Regex_price:/^\d+(\.\d{1,2})?$/ // 数字 . 最多两位有效数字

Regex_EnghlishNum:/^(?=.*\d)(?=.*[a-z])[a-zA-Z\d]{6,20}$/ //6至20位英文和数字组合

Regex_Phone: /^0?(13[0-9]|15[012356789]|18[0-9]|14[57])[0-9]{8}$/, // 手机号

Regex_Mobile: /^0?(13[0-9]|15[012356789]|18[0-9]|14[57])[0-9]{8}$/, // 手机号

Regex_Card: /\\d{14}[[0-9],0-9xX]/, // 身份证号

Regex_Email: /^[a-zA-Z0-9]+([._\\-]*[a-zA-Z0-9])*@([a-zA-Z0-9]+[-a-zA-Z0-9]*[a-zA-Z0-9]+.){1,63}[a-zA-Z0-9]+$/, // 邮箱

Regex_RealName: /^[a-zA-Z\u4e00-\u9fa5]{0,}$/, // 真实姓名、朋友昵称、朋友全称、组名称、组标签

Regex_text: /^[\u4e00-\u9fa5]{0,}$/, // 地区 、省份、城市

正则表达式或的用法

一. 正则表达式

正则表达式:其实就是一种匹配规则,用于检索字符串

定义正则表达式的两种方式: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()方法

可以通过正则表达式查找位置

五. 添加学生练习

添加学生

姓名:

年龄:

性别:

爱好:

抽烟

喝酒

尘腊历 烫头

睡觉

年级:

必须要选择一个年级

邮箱:

请输入正确的邮箱格式

电话:

请输入正确的电话格式

生日:

请输入正确日期格式

中文正则表达式

RegExp是JS的正则表达式对象,实例化一个RegExp对象有 字面量 构造函数 2种方式。

字面量实例化RegExp对数辩象

var reg=/js/gi;

开始和结束的斜线/是正则表达式的边界,//中间的文本是正则表达式文本,后面的gi是正则表达式的修饰符。

构造函数实例化RegExp对象

var reg=new Regex(‘js’,’gi’);

第一个参数是正则表达式文本,第二个参数是正则表达式修饰符。

global:RegExp 对象是否具有标志 g。

ignoreCase:RegExp 对象是否具有标志 i。

lastIndex:一个整数,标示开始下一次匹配的字符位置。

multiline:RegExp 对象是否具有标志 m。

source:正则表达式的源文本。

RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

以上就是js正则表达式语法的全部内容,var reg=/js/gi;开始和结束的斜线/是正则表达式的边界,//中间的文本是正则表达式文本,后面的gi是正则表达式的修饰符。构造函数实例化RegExp对象 var reg=new Regex(‘js’,’gi’);第一个参数是正则表达式文本。

下一篇: shodan语法,shodan是干嘛的
上一篇: 高三英语语法知识点,英语高二语法知识点归纳
相关文章
返回顶部