ホームページ バックエンド開発 PHPチュートリアル フロントエンドでよく使用される正規表現をまとめます。

フロントエンドでよく使用される正規表現をまとめます。

Aug 07, 2017 pm 03:37 PM
フロントエンド 通常 使用

对于正则表达式,我们或许会经常使用,但是又很难记住。这篇文章,我将介绍下简单的正则表达式知识,然后总结前端开发中常用的正则表达式大全,需要的的朋友参考下

前言

正则这东西吧,感觉是开发的都会接触到一些..

那些所谓的基础语法就不说了哈,一搜一大把,来点实际的.

我这里就分享下我工作中汇总和遇到的,希望对一些小伙伴有些许帮助哈!!

正则汇总

匹配URL


const regexURL = /((https?|ftp)?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gi;
// 这条正则可以匹配这么一坨格式的url
//www.baidu.com
//http://www.baidu.com
//https://www.baidu.com
//baidu.com
//test.baidu.com  
//gds.baidu.com
//ftp://www.baidu.com
// ---- 分割线 ---- 
// 也许有小伙伴不需要匹配这么一大坨,只要匹配http和https,上面的改写一下就好了
const regexURL = /(https?:\/\/)(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gi;
//http://www.baidu.com
//https://www.baidu.com
ログイン後にコピー

匹配中国身份证不大靠谱版


// 为什么说不靠谱,是因为单单正则没法实现区域结合出生日期的判断这种很精准的识别
const regexCHINAIDCARD = /^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}((19\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d{2}(0[13578]|1[02])31)|(19\d{2}02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x)?$/gi;
// 可以匹配这么一堆身份证,身份证号码都是网络搜索的,一搜一堆
//230381198104143414
//650201199007186135
//460106197707275739
//44200019860325932X
//43052819880216450X
//654223197502255401
ログイン後にコピー

匹配数字,整数,浮点~~~


// 这货只会匹配正整数
const regexInteger = /^\d+$/gi;
// 肯定有人想问,范围性的整数呢,看我改下,比如0-100
const regexRangeInteger = /^\d$|^[1-9]\d$|^100$/gi;
// 匹配小数呢,不限定范围的
const regexFloat = /^\d+\.\d+$/gi
// 倘若要限定呢,比如还是那个,0~100的任意整数和浮点数
const regexRangeIntFloat = /^(\d{0,2}(\.\d+)?|100(\.0+)?)$/gi;
ログイン後にコピー

匹配手机号码


// 不含卫星电话这些,只是罗列的常见的手机范围,也考虑了区域和长途前缀
const regexMobileNumber = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/gi;
ログイン後にコピー

匹配邮箱


const regexEmail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9_]+\.)+[a-zA-Z]{2,}))$/gi
// 已经不靠谱的测试了这么几种写法的邮箱格式都通过了
//cc011@qq.com
//fsdlk@dd-fad.cn
//df_fs2.q@jd-f.com
//crklej-dsfj@132.com
//fdfkj@aa_fslkdfj.com.cn
//d390.fslk@qq.com
//1100@gmail.cn
//sflk-98_dsf@qq_fsk.com
ログイン後にコピー

加强版密码设置规范


// 必须含有大小写字母,数字及特殊符号,长度8~24
const regexEnhancePassword = /^(?!\s)((?=.*[a-zA-Z])(?=.*[a-z])(?=.*[A-Z])(?=.*[\W_]).\S{8,24})$/g;
ログイン後にコピー

中国车牌号校验

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

匹配QQ号,微信号


// QQ在我印象中好像一直都是纯数字,现在好像发展到11位了,好像最初是从100000开始的
const regexQQNumber = /^[1-9]\d{5,10}$/gi;
// 特意去查了下最新的微信号的规则
//1、微信号是微信的唯一凭证,只能设置1次;
//2、可使用6-20个字母、数字、下划线和减号;
//3、必须以字母开头(字母不区分大小写);
//4、不支持设置中文。
const regexWeChatNumber = /^[A-Za-z][\w-]{5,19}$/gi;
ログイン後にコピー

用户名规范


// 普通版,英文+数字,必须字母开头,允许下划线,长度八到十六
const regexNormalUsername = /^[a-zA-Z]\w{7,15}$/gi;
// 在这个基础上允许中文四到六个字符
const regexE1 = /^[\u4e00-\u9fa5]{4,6}$|^[a-zA-Z]\w{7,15}$/gi;
// 多重复用版本,允许手机,邮箱,中文,这个若是写成一个的话,用分组的写法就好了
// 不过很长很长,,,推荐用if...else ...来拆分,,就三个正则....
ログイン後にコピー

以上がフロントエンドでよく使用される正規表現をまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodeのメモリ制御に関する記事 Nodeのメモリ制御に関する記事 Apr 26, 2023 pm 05:37 PM

ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

Vue3 で単体テストを作成する方法を調べる Vue3 で単体テストを作成する方法を調べる Apr 25, 2023 pm 07:41 PM

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ Mar 16, 2024 pm 12:09 PM

PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ 今日のインターネットの急速な発展の時代において、フロントエンド開発はますます重要になっています。 Web サイトやアプリケーションのエクスペリエンスに対するユーザーの要求がますます高まっているため、フロントエンド開発者は、より効率的で柔軟なツールを使用して、応答性の高いインタラクティブなインターフェイスを作成する必要があります。フロントエンド開発の分野における 2 つの重要なテクノロジーである PHP と Vue.js は、組み合わせることで完璧なツールと見なされます。この記事では、PHP と Vue の組み合わせと、読者がこれら 2 つをよりよく理解し、適用できるようにするための詳細なコード例について説明します。

クロスドメインの問題を解決するにはどうすればよいですか?一般的なソリューションの簡単な分析 クロスドメインの問題を解決するにはどうすればよいですか?一般的なソリューションの簡単な分析 Apr 25, 2023 pm 07:57 PM

クロスドメインは開発においてよく遭遇するシナリオであり、インタビューでもよく議論される問題でもあります。一般的なクロスドメイン ソリューションとその背後にある原則を習得すると、開発効率が向上するだけでなく、面接でのパフォーマンスも向上します。

地理情報科学を専攻する人はどのコンピュータを選択すべきですか? 地理情報科学を専攻する人はどのコンピュータを選択すべきですか? Jan 13, 2024 am 08:00 AM

地理情報科学を専攻する学生に適した推奨コンピュータ 1. 推奨 2. 地理情報科学を専攻する学生は、大量の地理データを処理し、複雑な地理情報分析を行う必要があるため、強力なパフォーマンスを備えたコンピュータが必要です。高度な構成を備えたコンピューターは、より高速な処理速度とより大きなストレージ容量を提供し、専門家のニーズをより適切に満たすことができます。 3. データ処理や分析の効率を向上させる、高性能プロセッサと大容量メモリを搭載したコンピュータを選択することをお勧めします。さらに、より大きなストレージ容量と高解像度ディスプレイを備えたコンピューターを選択すると、地理データと結果をより適切に表示できます。さらに、地理情報科学を専攻する学生は、地理情報システム (GIS) ソフトウェアの開発とプログラミングが必要になる可能性があることを考慮して、より優れたグラフィックス処理サポートを備えたコンピューターを選択してください。

フロントエンドの面接官からよく聞かれる質問 フロントエンドの面接官からよく聞かれる質問 Mar 19, 2024 pm 02:24 PM

フロントエンド開発のインタビューでは、HTML/CSS の基本、JavaScript の基本、フレームワークとライブラリ、プロジェクトの経験、アルゴリズムとデータ構造、パフォーマンスの最適化、クロスドメイン リクエスト、フロントエンド エンジニアリング、デザインパターン、新しいテクノロジーとトレンド。面接官の質問は、候補者の技術スキル、プロジェクトの経験、業界のトレンドの理解を評価するように設計されています。したがって、候補者はこれらの分野で自分の能力と専門知識を証明するために十分な準備をしておく必要があります。

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

ノードのバッファーについて詳しく見る ノードのバッファーについて詳しく見る Apr 25, 2023 pm 07:49 PM

当初、JS はブラウザ側でのみ動作していたため、Unicode でエンコードされた文字列の処理は簡単でしたが、バイナリ文字列や非 Unicode エンコード文字列の処理は困難でした。バイナリは、コンピュータのビデオ/オーディオ/プログラム/ネットワーク パッケージの最低レベルのデータ形式です。

See all articles