Maison > développement back-end > Golang > Utilisez des expressions régulières dans Golang pour vérifier si l'entrée est un numéro de compte légal de paiement de facture d'eau

Utilisez des expressions régulières dans Golang pour vérifier si l'entrée est un numéro de compte légal de paiement de facture d'eau

WBOY
Libérer: 2023-06-25 08:04:09
original
989 Les gens l'ont consulté

En langage Go, il est très simple d'utiliser des expressions régulières pour vérifier si l'entrée est un numéro de compte légal de paiement de facture d'eau. Le numéro de compte de paiement de la facture d’eau est composé d’une chaîne numérique d’une certaine longueur, généralement de 10 ou 13 chiffres. Avant de procéder à la vérification, nous devons comprendre les règles de base des expressions régulières.

L'expression régulière est une méthode utilisée pour décrire des modèles de texte. Elle se compose de caractères spéciaux et de caractères ordinaires. Dans le langage Go, nous pouvons utiliser le package regexp de la bibliothèque standard pour effectuer des opérations sur les expressions régulières.

Tout d'abord, nous devons définir une expression régulière qui répond aux exigences, puis utiliser cette expression à des fins de vérification. Avant la vérification, nous devons convertir la chaîne à vérifier, ce qui peut être fait à l'aide de la fonction du package strconv.

Ensuite, nous pouvons commencer à écrire la fonction de vérification. Ce qui suit est une démonstration de mise en œuvre de base :

package main

import (
    "fmt"
    "regexp"
    "strconv"
)

func checkWaterAccountNum(accountNum string) bool {
    //定义正则表达式
    reg := regexp.MustCompile(`^d{10}$|^d{13}$`)
    
    //转换待验证的字符串
    num, err := strconv.ParseInt(accountNum, 10, 64)
    if err != nil {
        fmt.Println(err)
        return false
    }
    
    //进行验证
    if !reg.MatchString(strconv.FormatInt(num, 10)) {
        return false
    }

    return true
}

func main() {
    //测试样例
    accountNum := "1234567890"
    if checkWaterAccountNum(accountNum) {
        fmt.Println("输入合法")
    } else {
        fmt.Println("输入不合法")
    }
}```

在上面的代码中,我们首先定义了一个正则表达式`^d{10}$|^d{13}$`,代表10位或13位的数字串;然后使用strconv包中的函数将待验证的字符串进行转换;最后使用正则表达式进行验证。如果验证通过,则返回true,否则返回false。

需要注意的是,在转换过程中,我们需要指定参数为10进制且能够被64位int类型表示。

在实际应用中,我们可以将验证函数封装成一个公共的函数,供其他程序调用。这样可以避免重复编写代码,提高程序的可重用性。
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal