cari
Rumahpembangunan bahagian belakangGolangBagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang

Bagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang

Jun 24, 2023 am 08:12 AM
ungkapan biasaAlamat e-melPengesahan nama domain

Perlu menggunakan ungkapan biasa untuk mengesahkan nama domain alamat e-mel dalam golang, kerana alamat e-mel adalah sangat biasa dalam aplikasi praktikal, dan peraturan untuk alamat e-mel juga agak rumit. Dalam kebanyakan kes, kami perlu mengesahkan sama ada nama domain alamat e-mel yang dimasukkan oleh pengguna memenuhi spesifikasi untuk memastikan kesahihan dan keselamatan data.

Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk mengesahkan nama domain alamat e-mel dalam golang. Pertama, kita perlu memahami peraturan asas alamat e-mel.

Alamat e-mel terdiri daripada dua bahagian: "nama pengguna" dan "nama domain", disambungkan dengan simbol "@" di tengah. Antaranya, bahagian nama domain termasuk nama hos, nama domain peringkat pertama, nama domain peringkat kedua dan maklumat lain, dan merupakan bahagian penting dalam alamat e-mel.

Apabila mengesahkan nama domain alamat e-mel, kami perlu memberi perhatian kepada perkara berikut:

  1. Nama domain terdiri daripada berbilang perkataan dan perkataan disambungkan dengan " ." simbol.
  2. Nama domain mesti bermula dan berakhir dengan huruf atau nombor.
  3. Aksara khas tidak boleh disertakan dalam nama domain, seperti ruang, koma, titik bertitik, dsb.
  4. Nama domain boleh mengandungi sempang "-", tetapi ia tidak boleh bermula atau berakhir dengan sempang.

Dengan asas peraturan ini, kami boleh menggunakan ungkapan biasa untuk mengesahkan nama domain alamat e-mel. Dalam golang, kami menggunakan pakej "regexp" untuk mengendalikan ungkapan biasa. Berikut ialah contoh kod yang boleh mengesahkan sama ada rentetan ialah nama domain alamat e-mel yang sah:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "example.com"
    reg := regexp.MustCompile(`^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(.[a-zA-Z]{2,})+$`)
    if !reg.MatchString(str) {
        fmt.Println("Invalid domain name")
    } else {
        fmt.Println("Valid domain name")
    }
}

Dalam kod di atas, kami menggunakan ungkapan biasa untuk mengesahkan sama ada rentetan itu ialah nama domain alamat e-mel yang sah. Maksud ungkapan biasa ini adalah seperti berikut:

  1. ^ bermaksud memadankan permulaan rentetan, $ bermaksud memadankan hujung rentetan.
  2. [a-zA-Z0-9] bermaksud memadankan huruf atau nombor, dan mesti bermula dan berakhir dengan huruf atau nombor.
  3. [a-zA-Z0-9-]{0,61} bermaksud huruf, nombor dan sempang yang sepadan dan panjangnya tidak boleh melebihi 63 aksara.
  4. (.[a-zA-Z]{2,})+ bermaksud memadankan satu atau lebih nama domain berturut-turut setiap nama domain disambungkan dengan simbol ", yang menunjukkan nama domain peringkat pertama, kedua nama domain peringkat, dsb.

Menggunakan ungkapan biasa ini boleh memenuhi kebanyakan keperluan pengesahan nama domain alamat e-mel. Jika terdapat keadaan istimewa lain, anda juga boleh mengubah suai ungkapan biasa untuk menyesuaikan diri dengan keperluan yang berbeza.

Ringkasnya, menggunakan ungkapan biasa untuk mengesahkan nama domain alamat e-mel ialah cara yang mudah dan cekap untuk meningkatkan kualiti kod dan keselamatan aplikasi kami. Ia juga sangat mudah untuk menggunakan ungkapan biasa dalam golang Anda hanya perlu mengimport pakej "regexp".

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana anda melangkah melalui peta dalam perjalanan?Bagaimana anda melangkah melalui peta dalam perjalanan?Apr 28, 2025 pm 05:15 PM

Artikel membincangkan melewati peta di GO, memberi tumpuan kepada amalan selamat, memodifikasi penyertaan, dan pertimbangan prestasi untuk peta besar. Masalah: Memastikan lelaran peta yang selamat dan cekap di GO, terutamanya dalam persekitaran serentak dan dengan L

Bagaimana anda membuat peta di Go?Bagaimana anda membuat peta di Go?Apr 28, 2025 pm 05:14 PM

Artikel ini membincangkan membuat dan memanipulasi peta di GO, termasuk kaedah permulaan dan menambah/mengemas kini elemen.

Apakah perbezaan antara array dan kepingan di Go?Apakah perbezaan antara array dan kepingan di Go?Apr 28, 2025 pm 05:13 PM

Artikel ini membincangkan perbezaan antara tatasusunan dan kepingan dalam GO, memberi tumpuan kepada saiz, peruntukan memori, lulus fungsi, dan senario penggunaan. Array adalah saiz tetap, diperuntukkan stack, manakala kepingan adalah dinamik, sering ditumpukan, dan lebih fleksibel.

Bagaimana anda membuat kepingan dalam perjalanan?Bagaimana anda membuat kepingan dalam perjalanan?Apr 28, 2025 pm 05:12 PM

Artikel ini membincangkan membuat dan memulakan irisan di GO, termasuk menggunakan literals, fungsi membuat, dan mengiris tatasusunan atau kepingan yang ada. Ia juga meliputi sintaks kepingan dan menentukan panjang dan kapasiti kepingan.

Bagaimana anda membuat array dalam perjalanan?Bagaimana anda membuat array dalam perjalanan?Apr 28, 2025 pm 05:11 PM

Artikel ini menerangkan cara membuat dan memulakan array di GO, membincangkan perbezaan antara tatasusunan dan kepingan, dan menangani had saiz maksimum untuk tatasusunan. Arrays vs. Slices: Tetap vs dinamik, nilai vs jenis rujukan.

Apakah sintaks untuk membuat struct di GO?Apakah sintaks untuk membuat struct di GO?Apr 28, 2025 pm 05:10 PM

Artikel membincangkan sintaks dan inisialisasi struct di GO, termasuk peraturan penamaan medan dan penyembuhan struct. Isu Utama: Cara Menggunakan Structs secara berkesan dalam Pengaturcaraan GO. (Watak: 159)

Bagaimana anda membuat penunjuk dalam perjalanan?Bagaimana anda membuat penunjuk dalam perjalanan?Apr 28, 2025 pm 05:09 PM

Artikel ini menerangkan membuat dan menggunakan petunjuk dalam GO, membincangkan manfaat seperti penggunaan memori yang cekap dan amalan pengurusan yang selamat. Isu utama: Penggunaan penunjuk selamat.

Apakah faedah menggunakan GO?Apakah faedah menggunakan GO?Apr 28, 2025 pm 05:08 PM

Artikel ini membincangkan manfaat menggunakan GO (Golang) dalam pembangunan perisian, yang memberi tumpuan kepada sokongan keserasiannya, kompilasi cepat, kesederhanaan, dan kelebihan skalabilitas. Industri utama yang mendapat manfaat termasuk teknologi, kewangan, dan permainan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!