站长资讯平台首页> 网页制作 > Javascript >
JavaScript 正则
2018-07-24 08:25:07来源:博客园 阅读 ()'
str.match(/href="(https?:\/\/.+?)"/) http://["href="https://github.com"", "https://github.com", index: 3, input: "", groups: undefined]
str.match(/href="(https?:\/\/.+?)"/)[1] http://https://github.com
前瞻
http://even(?=yao) http://匹配后面是yao的even
(/even(?=yao)/).exec('evenyao123'); http://['even']
(/even(?=yao)/).exec('even123yao'); http://null
http://even(?!yao) http://匹配后面不yao的even
(/even(?!yao)/).exec('evenyao123'); http://null
(/even(?!yao)/).exec('even123yao'); http://['even']
JavaScript 正则相关函数
去除字符串两边的空白字符的函数
function trim(str) {
return str.replace(/^\s*|\s*$/g,'')
}
trim(' hello word ')
判断用户输入的是不是合法用户名(长度6-20个字符,只能包括字母、数字、下划线)
function isValidUsername(str) {
var reg = /^\w{6,20}$/g
if(reg.test(str)) {
console.log('是合法的用户名')
} else {
console.log('不是合法的用户名')
}
}
isValidUsername('evenyao') http://是合法的用户名
判断用户输入的是否是邮箱的函数
function isEmail(str) {
var reg = /^\w+\.?\w+@\w+(\.\w+){1,3}$/g http://{1,3}是因为大多邮箱@后不会超过3个域名段,如果有这种邮箱格式,换成*即可
if(reg.test(str)) {
console.log('是正确的邮箱地址')
} else {
console.log('不是正确的邮箱地址')
}
}
isEmail('17300001111@163.com') http://是正确的邮箱地址
判断用户输入的是否是手机号的函数
function isPhoneNum(str) {
var reg = /^1[34578]\d{9}$/g
if(reg.test(str)){
console.log('是正确的手机号格式')
} else {
console.log('不是正确的手机号格式')
}
}
isPhoneNum(17300001111) http://是正确的手机号格式
JavaScript 正则的方法
test
test方法用于测试字符串参数中是否存正则表达式模式,如果存在则返回true,否则返回false上面的正则函数就是利用了test返回布尔类型做的
exec
exec方法用于正则表达式模式在字符串中运行查找,如果exec()找到了匹配的文本,则返回一个结果数组,否则返回 null
除了数组元素和length属性之外,exec()方法返回对象还包括两个属性。
index 属性声明的是匹配文本的第一个字符的位置
input 属性则存放的是被检索的字符串string
var str = '123 456 789' //"123 456 789"
var reg = /\d{3}/
reg.exec(str)
用while进行exec方法
var str = '123 456 789' //"123 456 789"
var reg = /\d{3}/g
while(result = reg.exec(str)) {
console.log(result[0]) http://因为返回的是数组,所以每次取0位置的值,直到null
}
match
match()方法将检索字符串,以找到一个或多个与regexp匹配的文本。但regexp是否具有标志 g对结果影响很大。
非全局调用
如果regexp没有标志g,那么match()方法就只能在字符串中执行一次匹配。如果没有找到任何匹配的文本,match() 将返回null。否则它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
该数组的第一个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性
index 属性声明的是匹配文本的起始字符在字符串中的位置
input 属性声明的是对 stringObject 的引用
例子var r = 'aaa123456'.match(/\d/)
全局调用
如果regexp具有标志g则match()方法将执行全局检索,找到字符串中的所有匹配子字符串
若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组
不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是字符串中所有的匹配子串,而且也没有index属性或input属性。
例子var r = 'aaa123456'.match(/\d/g)
replace
去除字符串两边的空白字符
var str = ' hello world '
str.replace(/^\s*|\s*$/g,'') http://先正则匹配,再用''替换
split
我们经常使用split方法把字符串分割为字符数组
'a,b,c,d'.split(','); http://["a", "b", "c", "d"]
和replace方法类似,在一些复杂的分割情况下我们可以使用正则表达式解决
'a1b2c3d'.split(/\d/); http://["a", "b", "c", "d"]
例子:
var str = 'h e llo wo rld' http://"h e llo wo rld"
str.split(/\s*/) // ["h", "e", "l", "l", "o", "w", "o", "r", "l", "d"]
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有JavaScript学习(一)——基础知识查漏补缺javascript闭包,你大爷永远是你大爷javascript面向对象入门基础详细介绍JavaScript函数表达式详解及实例如何用javascript连接access数据库js中去掉字串左右空格Javascript中的经典技巧主机资讯注册资讯托管资讯vps资讯网站建设建站经验策划盈利搜索优化网站推广免费资源联盟新闻联盟介绍联盟点评网赚技巧搜索引擎网络游戏电子商务广告传媒Asp.Net编程Asp编程Php编程Xml编程AccessMssqlMysql其它Web服务器Ftp服务器Mail服务器Dns服务器安全防护其它软件WordExcelPowerpointGhostVistaQQ空间QQFlashGet迅雷FrontPagesDreamweaverJavascriptcssphotoshopfireworksFlashJava技术C/C++VBdelphi网络协议网络安全网络管理组网方案Cisco技术Win2000WinXPWin2003Mac OSLinuxFreeBSD零基础学photoshop杭州网页制作ps怎么去痘痘如何psps cs5html网页模板html练习ps入门基础html网页ps教学视频全集网页制作简单前端开源框架html 代码ps自学教程网纯html网页模板fireworks哪里好fireworks软件js学习Photoshop绘制立体风格的微笑表情PS文字特效教程:制作公路上个性的涂鸦Photoshop设计卷边效果的变形金刚电影PS色彩修复教程:利用色阶工具快速给红PS半透明物体抠图:利用通道选区工具抠PS海报设计技巧教程:学习制作个性的扭PS图片特效制作教程:学习给铁塔图片制学习用photoshop把浑浊的海水照片后期PS古风照片教程:给古风美女打造出女侠PS个性人物海报制作:设计创意时尚的玻用javascript实现Base64编码charles抓包出现乱码 SSL Proxying nosocket.io 出现的WebSocket is closed【运行错误】Uncaught DOMException: Becharts在地图上绘制散点图(任意点)layui table表格 表头与内容列错位问ES6 require ( 路径变量 ) 相关使用方省市区三级联动下拉列表,获取地区编号Nuxt项目搭建到发布部署最全前端资源汇总谷歌移动友好算法AVPSFTP软件IEloadimg使用POSTHTTPCOMHTMLem定义数据timwordClass网络安全运维经验IT技术分享运维随笔录鲜花东郊到家往约到家
智能索引记录
-
2026-04-22 00:04:00
综合导航
成功
标题:2018年香港证券及期货从业员资格考试公告(第1号)-证券从业-233网校
简介:2018年第一次香港证券及期货从业员资格考试时间为3月31日,报名时间为2月26日15时—3月9日15时。
-
2026-04-21 05:33:58
综合导航
成功
标题:Kids' Athletic Clothes, Shoes & Gear - Fitted Fit Belts or Gloves Under Armour
简介:Shop Kids
-
2026-04-24 08:49:50
电商商城
成功
标题:suii型号规格 - 京东
简介:京东是国内专业的suii网上购物商城,本频道提供suii型号、suii规格信息,为您选购suii型号规格提供全方位的价格
-
2026-04-22 11:10:32
旅游出行
成功
标题:快穿炮灰逆襲花樣攻略-第142章 山村旅店8最新章節-台灣小說網
简介:台灣小說網整理快穿炮灰逆襲花樣攻略全集無彈窗在線閱讀,當前章節:第142章 山村旅店8
-
2026-04-16 01:53:23
教育培训
成功
标题:消防工程师的成绩几年有效-相关阅读-233网校
简介:本页面提供:“消防工程师的成绩几年有效”的相关阅读,包含:报名时间、报名流程、报名费、考试教材、准考证打印、成绩查询及证