面试中会遇到的正则题
正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目后可以自己先做一做,然后再看实现方法。本文不讲基础,只记录习题,如果后续有新的题目,也会保持更新。
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,检查其是否符合如下格式
XXX-XXX-XXXX
其中X为Number类型
function matchesPattern(str) { return /^(\d{3}-){2}\d{4}&/.test(str); }
5、判断是否符合USD格式
给定字符串 str,检查其是否符合美元书写格式
以 $ 开始
整数部分,从个位起,满 3 个数字用 , 分隔
如果为小数,则小数部分长度为 2
正确的格式如:$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 中的参数
指定参数名称,返回该参数的值 或者 空字符串
不指定参数名称,返回全部的参数对象 或者 {}
如果存在多个同名参数,则返回数组
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、
写一个正则表达式,匹配 "
var str = '<OPTION value="待处理">待处理</OPTION>'; var regx = /^<.*?>/; var resiult = regx.exec(str)[0];
最后推荐一个练习正则的网站 regulex%7B2%7D%5Cd%7B4%7D%26),可以查看正则匹配的走向
如果喜欢请关注我的Github,给个Star吧,我会定期分享一些JS中的知识,^_^
相关推荐:
Atas ialah kandungan terperinci 面试中会遇到的正则题 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ungkapan biasa PHP ialah alat yang berkuasa untuk pemprosesan dan penukaran teks. Ia boleh mengurus maklumat teks dengan berkesan dengan menghuraikan kandungan teks dan menggantikan atau memintasnya mengikut corak tertentu. Antaranya, aplikasi biasa ungkapan biasa adalah untuk menggantikan rentetan bermula dengan aksara tertentu Kami akan menerangkannya seperti berikut

Ungkapan biasa Golang menggunakan aksara paip | untuk memadankan berbilang perkataan atau rentetan, memisahkan setiap pilihan sebagai ungkapan OR logik. Contohnya: padanan "musang" atau "anjing": musang|padanan anjing "cepat", "coklat" atau "malas": (cepat|coklat|malas) sepadan dengan "Pergi", "Python" atau "Java": Pergi| Python |Java memadankan perkataan atau kod zip 4 digit: ([a-zA

Cara mengalih keluar bahasa Cina menggunakan peraturan biasa dalam PHP: 1. Buat fail contoh PHP 2. Tentukan rentetan yang mengandungi bahasa Cina dan Inggeris 3. Gunakan "preg_replace('/([\x80-\xff]*)/i'; '',$a);" Kaedah biasa boleh mengalih keluar aksara Cina daripada hasil pertanyaan.

Dalam artikel ini, kita akan belajar cara mengalih keluar teg HTML dan mengekstrak kandungan teks biasa daripada rentetan HTML menggunakan ungkapan biasa PHP. Untuk menunjukkan cara mengalih keluar teg HTML, mari kita tentukan rentetan yang mengandungi teg HTML dahulu.

Berkongsi petua tentang menggunakan ungkapan biasa PHP untuk melaksanakan fungsi penggantian bahasa Cina Dalam pembangunan web, kami sering menghadapi situasi di mana kandungan bahasa Cina perlu diganti. Sebagai bahasa skrip sebelah pelayan yang popular, PHP menyediakan fungsi ekspresi biasa yang berkuasa, yang boleh merealisasikan penggantian bahasa Cina dengan mudah. Artikel ini akan berkongsi beberapa teknik untuk menggunakan ungkapan biasa untuk melaksanakan penggantian bahasa Cina dalam PHP dan memberikan contoh kod khusus. 1. Gunakan fungsi preg_replace untuk melaksanakan penggantian bahasa Cina Fungsi preg_replace dalam PHP boleh digunakan

Keselamatan tapak web telah menarik lebih banyak perhatian, dan menggunakan protokol HTTPS untuk memastikan keselamatan penghantaran data telah menjadi bahagian penting dalam pembangunan tapak web semasa. Dalam pembangunan PHP, bagaimana untuk menggunakan ungkapan biasa untuk mengesahkan sama ada URL adalah protokol HTTPS? Mari ketahui di bawah. Ungkapan biasa Ungkapan biasa ialah ungkapan yang digunakan untuk menerangkan peraturan Ia adalah alat yang berkuasa untuk memproses teks dan digunakan secara meluas dalam pemadanan teks, carian dan penggantian. Dalam pembangunan PHP, kita boleh menggunakan ungkapan biasa untuk memadankan http dalam URL

Ungkapan biasa ialah alat yang berkuasa untuk memadankan rentetan dan boleh memudahkan manipulasi rentetan. Walau bagaimanapun, dalam proses menulis ungkapan biasa, kadangkala anda mungkin perlu memadankan beberapa aksara khas, seperti "\", "|", "{", dll. Aksara ini mempunyai makna istimewa dalam ungkapan biasa dan perlu dilepaskan.

Mengapa anda menghadapi masalah memasang PHP8? Dalam beberapa tahun kebelakangan ini, PHP telah menjadi salah satu bahasa pilihan untuk membangunkan laman web dan aplikasi web. Sebagai bahasa pengaturcaraan sumber terbuka yang popular, ia mempunyai fungsi yang luas dan sokongan komuniti yang kuat. Walau bagaimanapun, sesetengah orang mungkin menghadapi beberapa masalah semasa memasang dengan PHP8. Artikel ini akan meneroka beberapa sebab mengapa anda mungkin menghadapi masalah pemasangan PHP8 dan memberikan contoh kod khusus untuk membantu menyelesaikan masalah ini. Pertama, pastikan sistem pengendalian anda memenuhi keperluan minimum untuk PHP8. PHP8 diperlukan
