Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengesahkan input ialah cap waktu Unix yang sah menggunakan regex dalam golang

Cara mengesahkan input ialah cap waktu Unix yang sah menggunakan regex dalam golang

WBOY
WBOYasal
2023-06-24 09:30:591594semak imbas

Cap waktu Unix, sebagai kaedah perwakilan masa biasa, juga digunakan secara meluas di Golang. Dalam pembangunan sebenar, kami selalunya perlu mengesahkan cap waktu Unix yang dimasukkan oleh pengguna untuk memastikan ketepatan dan keselamatan program. Ungkapan biasa, sebagai alat pengesahan yang biasa digunakan, juga sangat sesuai untuk mengesahkan cap masa Unix. Artikel ini akan menerangkan cara menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada input ialah cap waktu Unix yang sah.

Takrifan cap waktu Unix adalah mudah, ia ialah bilangan saat yang telah berlalu sejak 1 Januari 1970 00:00:00 UTC. Cap masa Unix biasanya adalah integer positif atau negatif. Integer positif mewakili bilangan saat sejak 1970, dan integer negatif mewakili bilangan saat sebelum 1970.

Pertama, kita perlu memahami cara menggunakan ungkapan biasa dalam Golang. Pakej Regexp disediakan dalam Golang, yang melaksanakan fungsi penghuraian dan pemadanan ungkapan biasa. Kita boleh menggunakan fungsi yang disediakan oleh pakej ini, seperti Compile(), MatchString(), FindString(), dsb., untuk melaksanakan operasi ekspresi biasa.

Di Golang, kita boleh menggunakan ungkapan biasa berikut untuk mengesahkan cap masa Unix:

^(-?[1-9]d{0,9}|0)$

Ungkapan biasa ini boleh memadankan integer bertanda 32-bit, termasuk integer positif, integer negatif dan 0 Semua integer disertakan . Antaranya, "^" mewakili permulaan rentetan, dan "$" mewakili penghujung rentetan. "?" bermaksud bahawa aksara sebelumnya boleh muncul 0 atau 1 kali, "d" mewakili aksara angka, "{0,9}" bermaksud bahawa aksara sebelumnya boleh muncul 0 hingga 9 kali, "|"

Berikut ialah kod sampel:

package main

import (
    "fmt"
    "regexp"
)

func main() {

    re := regexp.MustCompile(`^(-?[1-9]d{0,9}|0)$`) // 编译正则表达式

    input := "1629755400" // 需要判断的 Unix 时间戳

    if !re.MatchString(input) {
        fmt.Println("输入不是有效的 Unix 时间戳")
    } else {
        fmt.Println("输入是有效的 Unix 时间戳")
    }
}

Dalam kod sampel ini, kami mula-mula menyimpan cap waktu Unix yang perlu disahkan dalam pembolehubah input. Seterusnya, kami menggunakan fungsi Regexp.MustCompile() untuk menyusun ungkapan biasa "^(-?[1-9]d{0,9}|0)$" ke dalam objek ungkapan biasa semula.

Akhir sekali, kami menggunakan fungsi MatchString() untuk memadankan input. Jika ungkapan biasa tidak dipadankan, keluarkan "Input bukan cap waktu Unix yang sah", jika tidak, keluarkan "Input ialah cap waktu Unix yang sah".

Perlu diambil perhatian bahawa menggunakan ungkapan biasa untuk pengesahan hanya boleh menentukan sama ada format input adalah betul, tetapi ia tidak dapat menjamin sama ada cap masa input adalah munasabah dari segi perniagaan, oleh itu, dalam pembangunan sebenar, cap masa juga diperlukan untuk disahkan pemeriksaan dan pemprosesan lanjut untuk memastikan ketepatan dan keselamatan perniagaan.

Melalui pengenalan dalam artikel ini, saya percaya pembaca telah mempelajari cara menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada ia adalah cap waktu Unix yang sah. Ekspresi biasa ialah alat yang sangat berkuasa Jika mahir dalam penggunaan ungkapan biasa boleh meningkatkan kecekapan dan kebolehpercayaan program.

Atas ialah kandungan terperinci Cara mengesahkan input ialah cap waktu Unix yang sah menggunakan regex 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