1. 程式人生 > >【Go】常用的正則表示式

【Go】常用的正則表示式

/***********************************************************
*名字 golang 正則工具
*功能 支援數字,字母,字元,常用資訊(電話,郵箱)等的正則匹配
*作者 Razil
************************************************************/

package models

import (
	"regexp"
)

type RegexCheck struct {
}

/************************* 自定義型別 ************************/
//數字+字母  不限制大小寫 6~30位
func (ic *RegexCheck) IsID(str ...string) bool {
	var b bool
	for _, s := range str {
		b, _ = regexp.MatchString("^[0-9a-zA-Z]{6,30}$", s)
		if false == b {
			return b
		}
	}
	return b
}

//數字+字母+符號 6~30位
func (ic *RegexCheck) IsPwd(str ...string) bool {
	var b bool
	for _, s := range str {
		b, _ = regexp.MatchString("^[
[email protected]
]{6,30}$", s) if false == b { return b } } return b } /************************* 數字型別 ************************/ //純整數 func (ic *RegexCheck) IsInteger(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^[0-9]+$", s) if false == b { return b } } return b } //純小數 func (ic *RegexCheck) IsDecimals(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^\\d+\\.[0-9]+$", s) if false == b { return b } } return b } //手提電話(不帶字首)最高11位 func (ic *RegexCheck) IsCellphone(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^1[0-9]{10}$", s) if false == b { return b } } return b } //家用電話(不帶字首) 最高8位 func (ic *RegexCheck) IsTelephone(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^[0-9]{8}$", s) if false == b { return b } } return b } /************************* 英文型別 *************************/ //僅小寫 func (ic *RegexCheck) IsEngishLowCase(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^[a-z]+$", s) if false == b { return b } } return b } //僅大寫 func (ic *RegexCheck) IsEnglishCap(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^[A-Z]+$", s) if false == b { return b } } return b } //大小寫混合 func (ic *RegexCheck) IsEnglish(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^[A-Za-z]+$", s) if false == b { return b } } return b } //郵箱 最高30位 func (ic *RegexCheck) IsEmail(str ...string) bool { var b bool for _, s := range str { b, _ = regexp.MatchString("^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$", s) if false == b { return b } } return b }

使用方法。複製儲存為.go檔案,即可使用。使用前應修改package為所在資料夾名。

相關推薦

持續更新常用表示式

    //純數字     private static final String numberOnly = "^\\d+$";     //空或純數字     private static final String numberOrNull = "^\\d*$";     

C++regex 表示式

    正則表示式是一種描述字元序列的方法,是C++11標準庫中新加入的強大工具。正則表示式是一種用於字串處理的微型語言,適用於一些與字串相關的操作。C++11包含了對以下幾種語法的支援:ECMAScript、basic、extended、awk、grep和egrep。C++

javascript使用表示式驗證

管理系統專案上用到的正則表示式驗證: 一、驗證手機號碼 最新的手機號驗證。 function checkMobilePhone(str){ var reg = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|1

LeetCode#10表示式匹配(Regular Expression Matching)

【LeetCode】#10正則表示式匹配(Regular Expression Matching) 題目描述 給定一個字串 (s) 和一個字元模式 §。實現支援 ‘.’ 和 ‘’ 的正則表示式匹配。 ‘.’ 匹配任意單個字元。 '’ 匹配零個或多個前面的元素。 匹配應該覆蓋整個字串

PHPPHP表示式驗證表單

以下內容轉載自:https://www.jb51.net/article/93375.htm 模式匹配符: \:轉義字元 例如:\b轉義了b ^:正則表示式開始符號 $:正則表示式結束符號 *:匹配前面的字元出現0次或者n次 +:匹配前面的字元出現1次或者n次 ?:匹配前面的字元出現

luaLua表示式匹配郵箱

function isRightEmail(str) if string.len(str or "") < 6 then return false end local b,e = string.find(str or "", '@') local bstr =

筆記IPV6表示式

/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[

轉載Python表示式詳解

原文地址:http://blog.csdn.net/whycadi/archive/2008/01/02/2011046.aspx 1. Python 正則式的基本用法 1.1 基本規則 1.2 重複 1

C#利用表示式判斷輸入是否為純數字、容器類

容器類、正則表示式在幾乎所有程式語言都存在的東西。很常用也很使用。下面用如下的一個控制檯小程式說明C#的正則表示式與容器類的應用。 開始直接輸出在C#定義好的資料字典Dictionary,這就是Java與Python的HashMap 之後定義一個存int的List,讓使用者

PythonRequests+表示式 爬取貓眼電影TOP100

1.先獲取到一個頁面,狀態碼200是成功返回 def get_one_page(url): # 獲取一個頁面 try: response = requests.get(url) if response.status_cod

Go常用表示式

/*********************************************************** *名字 golang 正則工具 *功能 支援數字,字母,字元,常用資訊(電話,郵箱)等的正則匹配 *作者 Razil *****************

語法12Python表示式

正則表示式 正則表示式是一個特殊的字元序列,它能幫助你方便的檢查一個字串是否與某種模式匹配。 Python 自1.5版本起增加了re 模組,它提供 Perl 風格的正則表示式模式。 re 模組使 Python 語言擁有全部的正則表示式功能。 compile 函式

python 表示式python表示式提取郵箱、網址、手機號、ip地址

要從文字中提取電子郵件、url、手機號、ip地址等,我們可以使用殺手鐗正則表示式。下面是我封裝的函式,方便以後拿來直接用。 # encoding: utf-8 import re # 自定義獲取文

135.Python修煉之路140-前端-JQuery-表示式2018.08.04

正則表示式 1、什麼是正則表示式:  能讓計算機讀懂的字串匹配規則。 2、正則表示式的寫法: var re=new RegExp('規則', '可選引數'); var re=/規則/引數; 3、規則中的字元  1)普通字元匹配: 如:/a/ 匹配字元 ‘a’,/a,b

java 表示式java表示式匹配圖片個數

Java 正則表示式和 Perl 的是最為相似的。 java.util.regex 包主要包括以下三個類: 1、Pattern 類: pattern 物件是一個正則表示式的編譯表示。Pattern 類沒

JavaScript表示式

一、元字元 二、修飾符 三、屬性 四、貪婪模式&&非貪婪模式 正則表示式會盡可能多的匹配,直到無法匹配,我們稱之為貪婪模式 下面的數字匹配會返回能匹配到的最多的數字 var str = "123456789"; str.replace

python學習筆記表示式從含中文的網頁中提取資料(含編碼轉換)

目標:用正則表示式從含中文的網頁中提取資料 1、獲得網頁全部資料 1.1思考過程 確定我們要操作的網頁:url = 'http://q.stock.sohu.com/cn/603077/cwzb.shtml' 開啟要操作的網頁:req = urllib2.open(url)

3月24日Requests+表示式抓取貓眼電影Top100

本次實驗爬蟲任務工具較為簡單,主要是熟悉正則表示式的匹配: pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>

python系列使用表示式去除HTML字串

關鍵程式碼見標紅部分 # -*- coding: utf-8-*- import re ##過濾HTML中的標籤 #將HTML中標籤等資訊去掉 #@param htmlstr HTML字串. def filter_tags(htmlstr): #先過濾CDATA

PythonPython表達式使用指導

poi 相關信息 repl 模塊 compile 直接 live 單詞 d+ 1. 正則表達式基礎 1.1. 簡單介紹 正則表達式並不是Python的一部分。正則表達式是用於處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功