最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

面试中会遇到的正则题

来源:懂视网 责编:小采 时间:2020-11-27 19:56:55
文档

面试中会遇到的正则题

面试中会遇到的正则题:正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目
推荐度:
导读面试中会遇到的正则题:正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目

1、var s1 = "get-element-by-id"; 给定这样一个连字符串,写一个function转换为驼峰命名法形式的字符串 getElementById

var f = function(s) {
 return s.replace(/-\w/g, function(x) {
 return x.slice(1).toUpperCase();
 })
}

2、判断字符串是否包含数字

function containsNumber(str) {
 var regx = /\d/;
 return regx.text(str);
}

3、判断电话号码

function isPhone(tel) {
 var regx = /^1[34578]\d{9}$/;
 return regx.test(tel);
}

4、判断是否符合指定格式

给定字符串str,检查其是否符合如下格式

  1. XXX-XXX-XXXX

  2. 其中X为Number类型

function matchesPattern(str) {
 return /^(\d{3}-){2}\d{4}&/.test(str);
}

5、判断是否符合USD格式

给定字符串 str,检查其是否符合美元书写格式

  1. 以 $ 开始

  2. 整数部分,从个位起,满 3 个数字用 , 分隔

  3. 如果为小数,则小数部分长度为 2

  4. 正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3**

function isUSD(str) {
 var regx = /^\$\d{1,3}(,\d{3})*(\.\d{2})?$/;
 return regx.test(str);
}

6、JS实现千位分隔符

function format(number) {
 var regx = /\d{1,3}(?=(\d{3})+$)/g;
 return (number + '').replace(regx, '$&,') // $&表示与regx相匹配的字符串
}

7、获取 url 参数

获取 url 中的参数

  1. 指定参数名称,返回该参数的值 或者 空字符串

  2. 不指定参数名称,返回全部的参数对象 或者 {}

  3. 如果存在多个同名参数,则返回数组

function getUrlParam(url, key) {
 var arr = {};
 url.replace(/\??(\w+)=(\w+)&?/g, function(match, matchKey, matchValue) {
 if (!arr[matchKey]) {
 arr[matchKey] = matchValue;
 } else {
 var temp = arr[matchKey];
 arr[matchKey] = [].concat(temp, matchValue);
 }
 });
 if (!key) {
 return arr;
 } else {
 for (ele in arr) {
 if (ele = key) {
 return arr[ele];
 }
 }
 return '';
 }
}

8、验证邮箱

function isEmail(email) {
 var regx = /^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/;
 return regx.test(email);
}

9、验证身份证号码

身份证号码可能为15位或18位,15位为全数字,18位中前17位为数字,最后一位为数字或者X

function isCardNo(number) {
 var regx = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
 return regx.test(number);
}

10、匹配汉字

var regx = /^[\u4e00-\u9fa5]{0,}$/;

11、去除首尾的'/'

var str = '/asdf//';
str = str.replace(/^\/*|\/*$/g, '');

12、判断日期格式是否符合 '2017-05-11'的形式,简单判断,只判断格式

var regx = /^\d{4}\-\d{1,2}\-\d{1,2}$/

13、判断日期格式是否符合 '2017-05-11'的形式,严格判断(比较复杂)

var regx = /^(?:(?!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)$/;

14、IPv4地址正则

var regx = /^(?:(?: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]?)$/;

15、十六进制颜色正则

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

16、车牌号正则

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

17、过滤HTML标签

var str="<p>dasdsa</p>nice <br> test</br>"
var regx = /<[^<>]+>/g;
str = str.replace(regx, '');

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

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

19、URL正则

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

20、匹配浮点数

var regx = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;

21、<OPTION value="待处理">待处理</OPTION>

写一个正则表达式,匹配 "<OPTION value="待处理">"

var str = '<OPTION value="待处理">待处理</OPTION>';
var regx = /^<.*?>/;
var resiult = regx.exec(str)[0];

最后推荐一个练习正则的网站 regulex%7B2%7D%5Cd%7B4%7D%26),可以查看正则匹配的走向

如果喜欢请关注我的Github,给个Star吧,我会定期分享一些JS中的知识,^_^

相关推荐:

五道典型的javascript面试题

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

面试中会遇到的正则题

面试中会遇到的正则题:正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目
推荐度:
标签: 面试 题目 的题目
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top