search
HomeWeb Front-endJS TutorialRegular questions you will encounter in interviews

正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目后可以自己先做一做,然后再看实现方法。本文不讲基础,只记录习题,如果后续有新的题目,也会保持更新。

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"
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、

写一个正则表达式,匹配 "

var str = '<option>待处理</option>';
var regx = /^<.>/;
var resiult = regx.exec(str)[0];</.>

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

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

相关推荐:

五道典型的javascript面试题

The above is the detailed content of Regular questions you will encounter in interviews. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何用php正则替换以什么开头的字符串如何用php正则替换以什么开头的字符串Mar 24, 2023 pm 02:57 PM

PHP正则表达式是一种针对文本处理和转换的有力工具。它可以通过解析文本内容,并按照特定的模式进行替换或截取,达到有效管理文本信息的目的。其中,正则表达式的一个常见应用是替换以特定字符开头的字符串,对此,我们进行如下的讲解

如何用 Golang 正则匹配多个单词或字符串?如何用 Golang 正则匹配多个单词或字符串?May 31, 2024 am 10:32 AM

Golang正则表达式使用管道符|来匹配多个单词或字符串,将各个选项作为逻辑OR表达式分隔开来。例如:匹配"fox"或"dog":fox|dog匹配"quick"、"brown"或"lazy":(quick|brown|lazy)匹配"Go"、"Python"或"Java":Go|Python|Java匹配单词或4位邮政编码:([a-zA

php 如何用正则去除中文php 如何用正则去除中文Mar 03, 2023 am 10:12 AM

php用正则去除中文的方法:1、创建一个php示例文件;2、定义一个含有中文和英文的字符串;3、通过“preg_replace('/([\x80-\xff]*)/i','',$a);”正则方法去除查询结果中的中文字符即可。

php怎么利用正则匹配去掉html标签php怎么利用正则匹配去掉html标签Mar 21, 2023 pm 05:17 PM

在本文中,我们将学习如何使用PHP正则表达式删除HTML标签,并从HTML字符串中提取纯文本内容。 为了演示如何去掉HTML标记,让我们首先定义一个包含HTML标签的字符串。

使用PHP正则实现中文替换功能的技巧分享使用PHP正则实现中文替换功能的技巧分享Mar 24, 2024 pm 05:57 PM

使用PHP正则实现中文替换功能的技巧分享在web开发中,经常会遇到需要对中文内容进行替换的情况。PHP作为一种流行的服务器端脚本语言,提供了强大的正则表达式功能,可以很方便地实现中文替换。本文将分享一些在PHP中使用正则实现中文替换的技巧,同时提供具体的代码示例。1.使用preg_replace函数实现中文替换PHP中的preg_replace函数可以用来

如何使用PHP正则表达式验证URL是否为HTTPS协议如何使用PHP正则表达式验证URL是否为HTTPS协议Jun 24, 2023 am 08:16 AM

网站安全性越来越受到关注,使用HTTPS协议保证数据传输的安全性已成为当前网站开发的一个重要内容。在PHP开发中,如何使用正则表达式验证URL是否为HTTPS协议呢?下面我们就来了解一下。正则表达式正则表达式是一种用来描述规律的表达式,是处理文本的强大工具,被广泛应用于文本匹配、搜索和替换等方面。在PHP开发中,我们可以通过正则表达式来匹配URL中的http

深入详解PHP正则表达式转义深入详解PHP正则表达式转义Mar 21, 2023 pm 02:52 PM

​正则表达式是一种用于匹配字符串的强大工具,它可以方便地进行字符串操作。然而,在编写正则表达式的过程中,有时可能需要匹配一些特殊字符,如“\”,“|”、“{”等,这些字符在正则表达式中具有特殊含义,需要进行转义。

为何会出现PHP8安装困扰?为何会出现PHP8安装困扰?Jan 05, 2024 am 08:41 AM

为什么你遇到了PHP8安装问题?近年来,PHP一直是开发网站和Web应用程序的首选语言之一。作为一个流行的开源编程语言,它具有广泛的功能和强大的社区支持。然而,在使用PHP8进行安装时,一些人可能会遇到一些问题。本文将探讨一些可能导致你遇到PHP8安装问题的原因,并提供具体的代码示例以辅助解决这些问题。首先,确保你的操作系统满足PHP8的最低要求。PHP8要

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),