本篇将会详解正则表达的相关知识。
\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?
\d:元字符,匹配一个数字,等价于[0-9](匹配0到9中的一个);
\w:元字符,匹配字母或数字或下划线或汉字,等价于[0-9a-zA-Z_];
\s:元字符,匹配任意的空白符;
[a-zA-Z0-9]:[]规定了一个范围,匹配当中的其中一个,示例则匹配a-z/A-Z/0-9中的一个,相当于\w(除了汉字);
\b:元字符,匹配单词的开始或结束(单词边界):
var a= "hello helloworld";var reg = /\bhello\b/;
a.match(reg);//结果为"hello";
.:元字符,匹配除换行符以外的所有字符;
*:限定符,重复0次或更多次;
+:限定符,重复1次或更多次,最少1次;
?:限定符,重复0次或1次;
x{3}:限定符,x出现3次({n}重复n次;{n,m}重复n-m次(包括n,m);{n,}重复最少n次;{,m}重复最多m次);
:在[]中意为取反([abc]匹配abc中任意一个,[abc]匹配除abc外的任意字符);其他时候可以匹配字符串的开头;
$:匹配字符串的结束;(^hello&:匹配以hello开头,hello结尾的字符串)
写一个函数trim(str),去除字符串两边的空白字符
function trim(str) { return str.replace(/^\s+|\s+$/g,'') //匹配开头或结尾的空白字符,替换成''; }
写一个函数isEmail(str),判断用户输入的是不是邮箱
function isEmail(str) { var reg = /^[a-zA-Z\d_]+\@[a-zA-Z\d]+\.[a-zA-Z\d]+$/g; return reg.test(str); }
写一个函数isPhoneNum(str),判断用户输入的是不是手机号
function isPhoneNum(str) { var reg = /^1[3578]\d{9}$/g; return reg.test(str); }
写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)
function isValidUsername(str) { var reg = /^([a-zA-Z\d_]){6,20}$/g; return reg.test(str); }
写一个函数isValidPassword(str), 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少包括两种)
function isValidPassword(str) { if (/^[a-zA-Z0-9_]{6,20}$/g.test(str)) { if (/^[a-z]{6,20}$/g.test(str) || /^[A-Z]{6,20}$/g.test(str) || /^[0-9]{6,20}$/g.test(str) || /^[_]{6,20}$/g.test(str)) { return false; }else { return true; } }else { return false; } }
写一个正则表达式,得到如下字符串里所有的颜色
var re = /*正则...*/var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "console.log( subj.match(re) ) // ['#121212', '#AA00ef'] var re = /#[a-f\d]{6}/ig;var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee";console.log( subj.match(re) )
下面代码输出什么? 为什么? 改写代码,让其输出[""hunger"", ""world""]
var str = 'hello "hunger" , hello "world"';var pat = /".*"/g; str.match(pat); //输出[""hunger" , hello "world""];
//正则表达式默认情况下是贪婪模式,会在满足条件的情况下尽可能多的进行匹配;
//改写代码
var str = 'hello "hunger" , hello "world"'; var pat = /".*?"/g; //添加?改成非贪婪模式,尽可能少的匹配; str.match(pat); //[""hunger"", ""world""]
本篇对正则表达进行了相关的解释,更多相关的内容请关注php中文网。
相关推荐:
Atas ialah kandungan terperinci 关于正则表达式的相关理解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.


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

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual