今、正規表現(以下はRegex)はEmail確認やURL確認といったバリデーションの目的でよく使われています。
#よく使用されるRegex
数字
-
整数:
/^\d+$/
-
少数:
/^\d*\.\d+$/
-
整数+少数:
/^\d*(\.\d+)?$/
-
負数、正数+少数:
/^-?\d*(\.\d+)?$/
-
整数+少数+分数:
/[-]?[0-9]+[,.]?[0-9]*([\/][0-9]+[,.]?[0-9]*)*/
文字と数字
-
Email:
/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})*$/
パスワード
-
パスワード(1小文字、1大文字、1数字、長さは8文字以上にする必要があります):
/(?=(.*[0-9]))((?=.*[A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z]))^.{8,}$/
ユーザー名
-
名前(アンダーライン、ダッシュ、3から16文字までの長さを持つ名前):
^[a-z0-9_-]{3,16}$
URL
-
http(s)プロトコルのみ:
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/
-
任意プロトコル:
/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/
日付
-
YYYY-MM-dd:
/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/
-
dd-MM-YYYY(dd.MM.YYYY, dd/MM/YYYY):
/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/
Stringで複製検索
-
複製検索:
/(\b\w+\b)(?=.*\b\1\b)/
電話番号
-
国際番号:
^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$
参照: https://digitalfortress.tech/tricks/top-15-commonly-used-regex/