All Projects → dimuska139 → go-email-normalizer

dimuska139 / go-email-normalizer

Licence: MIT license
Golang library for providing a canonical representation of email address.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-email-normalizer

SwitchNorm Detection
The code of Switchable Normalization for object detection based on Detectron.pytorch.
Stars: ✭ 79 (+46.3%)
Mutual labels:  normalization
WeTextProcessing
Text Normalization & Inverse Text Normalization
Stars: ✭ 213 (+294.44%)
Mutual labels:  normalization
url-normalize
URL normalization for Python
Stars: ✭ 82 (+51.85%)
Mutual labels:  normalization
pytorch-frn
Filter Response Normalization Layer in PyTorch
Stars: ✭ 110 (+103.7%)
Mutual labels:  normalization
gnt
🍸 GraphQL Normalized Types
Stars: ✭ 32 (-40.74%)
Mutual labels:  normalization
scSeqR
This package has migrated to https://github.com/rezakj/iCellR please use iCellR instead of scSeqR for more functionalities and updates.
Stars: ✭ 16 (-70.37%)
Mutual labels:  normalization
ICU4N
International Components for Unicode for .NET
Stars: ✭ 18 (-66.67%)
Mutual labels:  normalization
universe-of-syntax
A universe of scope- and type-safe syntaxes (syntices?). Includes generic implementation of type-preserving renaming/substitution with all the proofs you could possibly need.
Stars: ✭ 16 (-70.37%)
Mutual labels:  normalization
Sanitize.css
A best-practices CSS foundation
Stars: ✭ 4,675 (+8557.41%)
Mutual labels:  normalization
autonormalize
python library for automated dataset normalization
Stars: ✭ 104 (+92.59%)
Mutual labels:  normalization
normalize attributes
Sometimes you want to normalize data before saving it to the database like down casing e-mails, removing spaces and so on. This Rails plugin allows you to do so in a simple way.
Stars: ✭ 41 (-24.07%)
Mutual labels:  normalization
RNAseq titration results
Cross-platform normalization enables machine learning model training on microarray and RNA-seq data simultaneously
Stars: ✭ 22 (-59.26%)
Mutual labels:  normalization
keras-utility-layer-collection
Collection of custom layers and utility functions for Keras which are missing in the main framework.
Stars: ✭ 63 (+16.67%)
Mutual labels:  normalization
TextDatasetCleaner
🔬 Очистка датасетов от мусора (нормализация, препроцессинг)
Stars: ✭ 27 (-50%)
Mutual labels:  normalization
exponential-moving-average-normalization
PyTorch implementation of EMAN for self-supervised and semi-supervised learning: https://arxiv.org/abs/2101.08482
Stars: ✭ 76 (+40.74%)
Mutual labels:  normalization
keras-layer-normalization
Layer normalization implemented in Keras
Stars: ✭ 58 (+7.41%)
Mutual labels:  normalization
class-norm
Class Normalization for Continual Zero-Shot Learning
Stars: ✭ 34 (-37.04%)
Mutual labels:  normalization
ANCOMBC
Differential abundance (DA) and correlation analyses for microbial absolute abundance data
Stars: ✭ 60 (+11.11%)
Mutual labels:  normalization
graphql-norm
Normalization and denormalization of GraphQL responses
Stars: ✭ 28 (-48.15%)
Mutual labels:  normalization
ORNA
Fast in-silico normalization algorithm for NGS data
Stars: ✭ 21 (-61.11%)
Mutual labels:  normalization

go-email-normalizer - email normalization for Go

Build Status codecov Go Report Card License Mentioned in Awesome Go

This is Golang library for providing a canonical representation of email address. It allows to prevent multiple signups. go-email-normalizer contains some popular providers but you can easily append others.

Download

go get github.com/dimuska139/go-email-normalizer

Usage

package main

import (
	"fmt"
	"strings"
	normalizer "github.com/dimuska139/go-email-normalizer"
)

type customRule struct {}

func (rule *customRule) ProcessUsername(username string) string {
	return strings.Replace(username, "-", "", -1)
}

func (rule *customRule) ProcessDomain(domain string) string {
	return domain
}

func main() {
	n := normalizer.NewNormalizer()
	fmt.Println(n.Normalize("[email protected]")) // [email protected]
	fmt.Println(n.Normalize("[email protected]")) // [email protected]
	fmt.Println(n.Normalize("[email protected]")) // [email protected]
	fmt.Println(n.Normalize("[email protected]")) // [email protected]
	
	n.AddRule("customrules.com", &customRule{})
	fmt.Println(n.Normalize(" [email protected].")) // [email protected]
}

Supported providers

  • Apple
  • Fastmail
  • Google
  • Microsoft
  • Protonmail
  • Rackspace
  • Rambler
  • Yahoo
  • Yandex
  • Zoho

Also you can integrate another rules using AddRule function (see an example above)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].