分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

js 正则表达式

发布时间:2023-09-06 01:10责任编辑:董明明关键词:js正则

【正则表达式】
1、正则表达式包括两部分:
① 定义正则表达式的规则; ② 正则表达式的模式(i/g/m);

2、声明正则表达式:
① 字面量声明: var reg=/表达式规则/表达式模式;
eg:var reg =/white/g;
② 使用new关键字: var reg = newRegExp("表达式规则","表达式模式")
eg;var reg=new RegExp("white","g");

3、正则表达式的常用模式:
① g: 全局匹配。不加g默认为非全局匹配,只匹配第一个符合要求的字符串;
"www".replace(/w/,"#"); ??--->#ww;
"www".replace(/w/g,"#"); ??--->###;
② i:忽略大小写。不加i,默认要求大小写也匹配;
"aAa".replace(/A/,"#"); ??---> a#a;
"aAa".replace(/A/i,"#"); ??---> #Aa;
"aAa".replace(/A/gi,"#"); ??---> ###;
③ m:多行匹配模式。不带m,则一个字符串只有一个开头、一个结尾。
带m后,如果字符串分为多行,则每行都有一个开头、一个结尾。
`abc`#bc
abc`.replace(/^a/g,"#") ?--->abc`

`abc`#bc
abc`.replace(/^a/gm,"#") ?--->#bc`

【如何写多行字符串?】
》》》普通字符中,插入\n表示换行。"abc\nabc"
》》》ES6中,允许使用反引号

4、正则表达式的常用方法:
① 检测一个字符串是否符合正则表达式的验证。返回true或false;
eg: /white/.test("whitewhite"); ?--->true
② exec():检测一个字符串,是否符合正则表达式的验证。如果验证成功,返回结果数组;如果验证失败,返回null;
结果数组中:
index属性:表示从字符串的第几个字符串,开始符合正则要求
index属性:返回完整的被索引的字符串。
下标第0个:表示符合整个正则表达式的那部分字符串。
下标的第1个到第n个:表示符合正则的第一个到第几个第n个子表达式的部分。子表达式,就是正则中的()
也就是,正则中有几个(),结果数组中就有几个下标。
[
??0:12345,
?1:3,
?2:4,
?index:3,
?input:"aaa12345",
?length:3
?]

正则练习:

/*
1:使用正则表达式验证博客园注册页面,验证用户名、密码、电子邮箱、手机号码和生日。
???2:用户名只能由英文字母和数字组成,长度为4-16个字符,并且以英文字母开头
??3:密码只能由英文字母和数字组成,长度为4-10个字符。
???4:生日的年份在1900-2009之间,生日格式为1980-5-12或1988-05-04的形式。
*/
var userName = /^[A-Za-z][A-Za-z0-9]{3,15}$/;
var pwd = /^[A-Za-z0-9]{4,10}$/;
var tel = /^1[3578]\d{9}$/;
var mail = /^\w+@\w+(\.[A-Za-z]{2,3}){1,2}$/;
var birthday = /^(19\d{2}|200\d)-((([13578]|1[02])-(0[1-9]|[12]\d|3[01]))|((4|6|9|11)-(0[1-9]|[12]\d|30))|(2-(0[1-9]|[12]\d)))$/;

/*?域名 http://xxxxx.xxxx.com*/
var http = /^(http|https):\/\/([A-Za-z0-9\-]+\.){2}[A-Za-z]{2,4}(\.[A-Za-z]{2,4})?$/;

/*国内电话号码(0511-4405222、021-87888822)*/
var tels = /^(0\d{3}-[1-9]\d{6}|0\d{2}-[1-9]\d{7})$/;

/*?腾讯QQ号(腾讯QQ号从10000开始,最多10位数字)*/
var qq = /^[1-9]\d{4,9}$/;

/*?IP地址(0.123.11.255) 四部分都是0-255组成*/
/* 一位数 \d
* 两位数 [1-9]\d
* 100-199 ?1\d{2}
* 200-249 ?2[0-4]\d
* 250-255 ?25[0-5]
*/
var ip = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/;

/*?xml文件(字母开头,字母或数字结尾,可以包含字母数字_-,后缀名三个字母可以随意大小写).XML .xml .Xml .xML*/
var xmls = /^[A-Za-z][A-Za-z0-9\-_]*[A-Za-z0-9]\.[xX][mM][lL]$/;


/*o有四种钱的表示形式我们可以接受:”10000.00″ 和 “99,000.00″ 和“10000″ 和 “10,000″*/
/* 1-999 ??[1-9]|[1-9]\d|[1-9]\d{2}
* ,000-999 * ?(,\d{3})*
* .00-99 ? ??(\.\d{2})?
*/
var money = /^([1-9]|[1-9]\d|[1-9]\d{2})(,\d{3})*(\.\d{2})?$/;

js 正则表达式

原文地址:http://www.cnblogs.com/suitongyu/p/7501654.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved