摘要:前言正则表达式时处理字符串中常用的手法,本文以简单的方式,快速展示了中正则相关的基础知识点。文末还提供了几个简单的正则相关面试题。接下来是正则部分,注意后面的并不匹配,也就是比如,实际匹配的值是和,在和后面加上,就完成了预期。
前言:正则表达式时处理字符串中常用的手法,本文以简单的方式,快速展示了JavaScript中正则相关的基础知识点。文末还提供了几个简单的正则相关面试题。个人总结,如有错误,还望指正,
JavaScript正则表达式快速入门 两种新建语法字面量法
var patt = /w+/i;
RegExp对象法
(1)var patt = new RegExp("/w+/i");
(2)var patt = new RegExp("w+","i");
其中第二个变量表示修饰符,在ES5中,(1)方法不允许加第二个变量,ES6中则允许,且后面的修饰符会覆盖原修饰符。
五个修饰符i:忽视大小写
g:全局匹配
m:多行匹配
u:用于处理大于uFFFF的字符(ES6新增)
y:类似g,但是有粘连特点(ES6新增)
1、reg.sticky
用于检测是否设置y修饰符,返回true/false(ES6新增)
2、reg.source
返回表达式正文(ES5)
3、reg.flags
量词系列返回修饰符(ES6新增)
基础量词
? (0或1)
* (0个及以上)
+ (1个及以上)
开头结尾
^ 开头
$ 结尾
指定量词
{x} 指定数量
{x,} 大于X数量
{x,y} x,y之间
特殊
语法系列 RegExp方法?=str 后面紧接str的
?!str 后面没有紧接str的
1、compile方法
patt.compile(newPatt)
用于编译正则,或者改变正则内容
2、exec方法
patt.exec(str)
如果找到了,返回相应的字符串,如果没有,返回null
3、test方法
patt.test(str)
如果找到了,返回true,否则返回false
String方法1、search()
str.search(patt)
如果找到了,返回起始位置,否则返回-1
2、match()
str.match(patt)
返回一个数组,没有找到返回null
3、replace()
str.replace(patt, newValue)
替换指定的内容
4、split()
str.split("patt")
以指定内容分割为数组
部分题目 题目一:正则校验电子邮箱var checkEmail = function(email) { var patt = /^([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)$/i return patt.test(email); } //另一种写法 /^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/;题目二: 为string添加去除前后空白字符的函数trim()
String.prototype.trim = function() { return this.replace(/^s+|s+$/g) }题目三:为数字添加","分割符,例如123456789输出123,456,789
function commafy(num) { return num && num.toString() .replace(/(d)(?=(d{3})+.)/g, x => x + ","); }
题目简析:首先是&&,短路运算符,也就是相当于if...else,当num存在时,会返回后面的值。
接下来是正则部分,注意?=后面的并不匹配,也就是比如12345678.9,实际匹配的值是2和5,在2和5后面加上",",就完成了预期。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/83429.html
摘要:责编现代化的方式开发一个图片上传工具前端掘金对于图片上传,大家一定不陌生。之深入事件机制前端掘金事件绑定的方式原生的事件绑定方式有几种想必有很多朋友说种目前,在本人目前的研究中,只有两种半两种半还有半种的且听我道来。 Ajax 与数据传输 - 前端 - 掘金背景 在没有ajax之前,前端与后台传数据都是靠表单传输,使用表单的方法传输数据有一个比较大的问题就是每次提交数据都会刷新页面,用...
摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...
摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...
摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...
阅读 1293·2021-10-08 10:05
阅读 4105·2021-09-22 15:54
阅读 3105·2021-08-27 16:18
阅读 3106·2019-08-30 15:55
阅读 1435·2019-08-29 12:54
阅读 2747·2019-08-26 11:42
阅读 542·2019-08-26 11:39
阅读 2128·2019-08-26 10:11