<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享 12 個最常用的正則表達式,能解決你大部分問題

          共 3053字,需瀏覽 7分鐘

           ·

          2022-07-05 08:33

          英文 | https://medium.com/frontend-canteen/you-dont-need-to-fully-understand-regex-you-just-need-to-know-these-10-most-used-expressions-197dd2397308

          翻譯 | 楊小愛



          坦率地說,我從來沒有理解過正則表達式,我花了很多時間學習它,但我仍然不明白。

          后來我明白了一個道理:我真的不需要完全理解正則表達式的所有原理,把一些常用的正則表達式理解通透,因為我們真正使用的正則表達式數(shù)量有限,我只需將它們添加到我的筆記本中(甚至不需要記住)。

          今天,我收集整理了一些web項目中經(jīng)常用到的正則表達式,我覺得可以解決50%以上的正則表達式問題。

          數(shù)字的

          01、僅匹配數(shù)字字符串

          目標:

          1231212321214353
          正則表達式:
          /^\d+$/

          簡單解釋:

          • ^ 表示字符串的開頭

          • \d+ 匹配一位或多位數(shù)字

          • $ 表示字符串的結(jié)尾

          可視化:

          用法:

          • 234,124 包含非法字符 , ,因此它返回 false。

          • id12313 包含兩個非法字符 id ,因此它返回 false。

          02、十進制數(shù)
          目標:
          123.123113.140.43066123
          正則表達式:
          /^\d+(\.?\d+)?$/
          • \.匹配單個 char 。

          • ? 表示可選。

          • () 表示一個組

          • (\.?\d)? 是一個可選組

          可視化:

          用法:

          . 應該在數(shù)字中間,所以 .1 和 12.返回 false。
          03、字母數(shù)字字符
          我們在檢測用戶名和密碼時經(jīng)常使用這個正則表達式。

          目標:

          123abc123abcacRa32EEEbytefishJack2022

          正則表達式:

          /^[a-zA-Z0-9]+$/
          • [a-zA-Z0–9] 匹配所有字母和數(shù)字

          可視化:

          用法:

          04、allow space

          如果你想在字符串中留出空格,你可以像這樣寫正則表達式:

          /^[a-zA-Z0-9\s]+$/
          • \s 匹配空白。

          用法:

          05、電子郵件

          電子郵件地址可能有多種格式,我們很難寫出完美匹配電子郵件地址的正則表達式。

          如果我們添加一些約束,那么我們有以下寫法。

          正則表達式1

          ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

          這是 RegularExpressionValidator 在 ASP.NET 中使用的一種。

          用法:

          正則表達式2

          ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

          簡單的電子郵件表達。不允許在域名中使用數(shù)字,并且不允許使用少于 2 個或多于 3 個字母的頂級域(在它們允許更多之前都可以)。

          用法:

          06、密碼

          與電子郵件一樣,密碼可能有不同的規(guī)則。下面是一些常見的規(guī)則和相關(guān)的正則表達式。

          規(guī)則1

          ^[a-zA-Z]\w{8,20}$

          在這個正則表達式中,密碼的第一個字符必須是字母,它必須包含至少 8 個字符且不超過 20 個字符,并且不能使用除字母、數(shù)字和下劃線以外的字符。

          用法:

          規(guī)則2:

          /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/
          • 至少 8 個字符

          • 至少 1 個數(shù)字字符

          • 至少 1 個小寫字母

          • 至少 1 個大寫字母

          • 至少 1 個特殊字符

          07、用戶名

          可能包含 _ 和 — 的字母數(shù)字字符串,長度為 3 到 16 個字符。

          例子:

          bytefishjon-snowRob_Stark

          正則表達式:

          /^[a-zA-Z0-9_-]{3,16}$/

          用法:

          08、網(wǎng)址

          檢查字符串是否為 URL

          /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/

          用法:

          09、IP地址

          IPv4

          ^((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]?)$


          IPv6

          (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

          10、日期

          使用分隔符的日期格式 YYYY-MM-dd -

          /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/

          用法:

          日期格式 dd-MM-YYYY 使用分隔符 - 或 . /

          /^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/


          11、HTML 標簽

          將 HTML 標記與屬性匹配:

          /<\/?[\w\s]*>|<.+[\W]>/

          用法:

          12、電話號碼

          美國電話號碼格式

          目標:

          123-456-7890(123) 456-7890123 456 7890123.456.7890+91 (123) 456-7890

          正則表達式:

          ^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$

          用法:

          總結(jié)

          以上就是我今天跟大家分享的12個常用的正則表達式,希望這些正則表達式對你有用。

          最后,感謝你的閱讀。


          學習更多技能

          請點擊下方公眾號

          瀏覽 12
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中国婬乱a1级毛片多女 | 午夜一级电影 | 久久天堂AV综合合色蜜桃网 | 乱伦黄片 | AV网子 |