以下は、フォーム検証中によく使用される可能性があるため、私が収集した、より一般的に使用される正規表現の一部です。すべての友人が一緒に使用できるように特別に発行されます。ふふ。
漢字に一致する正規表現: [u4e00-u9fa5]
コメント: 中国語のマッチングは本当に面倒です。この表現を使えば簡単になります。
2 バイト文字 (漢字を含む) に一致: [^x00-xff]
コメント: 文字列の長さの計算に使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます)。
空白行と一致する正規表現: ns*r
コメント: 空白行の削除に使用できます。
HTML タグに一致する正規表現: < (S*?)[^>]*>.*?|< .*? />
コメント: インターネット上で流通しているバージョンはあまりにもひどいもので、一部しか一致せず、複雑なネストされたタグには依然として無力です。
先頭および末尾の空白文字に一致する正規表現: ^s*|s*$
コメント: 行頭と行末の空白文字 (スペース、タブ、フォーム フィードなどを含む) を削除するのに使用でき、非常に便利な式です。
電子メール アドレスに一致する正規表現: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
コメント: フォームの検証に非常に役立ちます
URL に一致する正規表現: [a-zA-z]+://[^s]*
コメント: インターネット上で流通しているバージョンは機能が非常に限られており、基本的にはニーズを満たすことができます。
一致するアカウントは合法ですか (文字で始まり、5 ~ 16 バイトが使用可能、英数字のアンダースコアが使用可能): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
コメント: フォームの検証に非常に役立ちます
国内の電話番号と一致します: d{3}-d{8}|d{4}-d{7}
コメント: 0511-4405222 や 021-87888822 などの一致する形式
Tencent QQ 番号と一致: [1-9][0-9]{4,}
コメント: Tencent QQ アカウントは 10000 から始まります
中国の郵便番号に一致: [1-9]d{5}(?!d)
コメント: 中国の郵便番号は 6 桁の数字です
一致する ID カード: d{15}|d{18}
コメント: 中国の ID カードは 15 桁または 18 桁です
一致する IP アドレス: d+.d+.d+.d+
コメント: IP アドレスを抽出するときに便利です
特定の番号を照合します。
^[1-9]d*$ //正の整数と一致する
^-[1-9]d*$ //負の整数に一致
^-?[1-9]d*$ //整数と一致する
^[1-9]d*|0$ //負でない整数 (正の整数 + 0) に一致します
^-[1-9]d*|0$ //正でない整数 (負の整数 + 0) に一致します
^[1-9]d*.d*|0.d*[1-9]d*$ //正の浮動小数点数と一致する
^-([1-9]d*.d*|0.d*[1-9]d*)$ //負の浮動小数点数と一致する
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //浮動小数点数と一致する
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //非負の浮動小数点数 (正の浮動小数点数 + 0) と一致します。
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //非正の浮動小数点数(負の浮動小数点数)と一致します数字 + 0)
コメント: 大量のデータを処理する場合に便利ですが、適用する場合は修正に注意してください。
特定の文字列と一致します。
^[A-Za-z]+$ //26 文字の英字で構成される文字列と一致
^[AZ]+$ //26 個の大文字の英字で構成される文字列と一致します
^[az]+$ //26 個の小文字の英字で構成される文字列と一致します
^[A-Za-z0-9]+$ //数字と 26 個の英字で構成される文字列と一致します
^w+$ //数字、26 個の英字、またはアンダースコアで構成される文字列と一致します
RegularExpressionValidator 検証コントロールを使用する場合の検証関数とその検証式は次のように紹介されます。
数字のみを入力できます: "^[0-9]*$"
n 桁の数字のみを入力できます: "^d{n}$"
少なくとも n 桁のみ入力できます: "^d{n,}$"
mn 桁の数字のみを入力できます: "^d{m,n}$"
ゼロで始まる数字とゼロ以外の数字のみを入力できます: "^(0|[1-9][0-9]*)$"
小数点以下 2 桁の正の実数のみを入力できます: "^[0-9]+(.[0-9]{2})?$"
小数点以下 1 ~ 3 桁の正の実数のみを入力できます: "^[0-9]+(.[0-9]{1,3})?$"
ゼロ以外の正の整数のみを入力できます: "^+?[1-9][0-9]*$"
ゼロ以外の負の整数のみを入力できます: "^-[1-9][0-9]*$"
長さ 3 の文字のみ入力できます:「^.{3}$」
入力できる文字列は英字 26 文字のみです:「^[A-Za-z]+$」
26 文字の大文字の英字からなる文字列のみ入力できます:「^[AZ]+$」
26 文字の小文字の英字で構成される文字列のみを入力できます:「^[az]+$」
数字と 26 文字の英字で構成される文字列のみを入力できます: "^[A-Za-z0-9]+$"
入力できるのは、数字、26 文字の英字、またはアンダースコアで構成される文字列「^w+$」のみです。
ユーザーパスワードを確認してください: "^[a-zA-Z]w{5,17}$" 正しい形式は次のとおりです: 文字で始まり、長さは 6 ~ 18 です。
文字、数字、アンダースコアのみを含めることができます。
^%&',;=?$": "[^%&',;=?$x22]+" などの文字が含まれているかどうかを確認します。
入力できるのは漢字のみです: "^[u4e00-u9fa5],{0,}$"
メール アドレスを確認します: "^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
InternetURL を確認します: "^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"
確認用電話番号: "^((d{3,4})|d{3,4}-)?d{7,8}$"
正しい形式は次のとおりです: "XXXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、
「XXX-XXXXXXXX」、「XXXXXXX」、「XXXXXXXX」。
ID 番号 (15 桁または 18 桁) を確認します: "^d{15}|d{}18$"
1 年の 12 か月を確認します: "^(0?[1-9]|1[0-2])$" 正しい形式は次のとおりです: "01"-"09" および "1" "12"
月の 31 日を確認します: "^((0?[1-9])|((1|2)[0-9])|30|31)$"
正しい形式は、「01」「09」および「1」「31」です。
漢字に一致する正規表現: [u4e00-u9fa5]
2 バイト文字 (漢字を含む) に一致: [^x00-xff]
空の行に一致する正規表現: n[s| ]*r
HTML タグに一致する正規表現: /< (.*)>.*|< (.*) />/
先頭と末尾のスペースに一致する正規表現: (^s*)|(s*$)
電子メール アドレスに一致する正規表現: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
URL に一致する正規表現: http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1) 用途:文字列の長さを計算します(全角文字の長さを2、ASCII文字の長さを1と数えます)
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
(2) 応用:JavaScriptにはvbscriptのようなtrim関数がないので、この式を利用して実現できます。
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, “”);
}
(3)応用例:正規表現を利用してIPアドレスを分解・変換する
function IP2V(ip) //IPアドレスを対応する値に変換します
{
re=/(d+).(d+).(d+).(d+)/g //IPアドレスに一致する正規表現
if(再テスト(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
それ以外
{
throw new Error("有効な IP アドレスではありません!")
}
}
(4)アプリケーション:URLアドレスからファイル名を抽出するJavaScriptプログラム
s=”//www.VeVB.COm/page1.htm”;
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″); //Page1.htm
(5)応用:Webフォームのテキストボックスの入力内容を正規表現で制限したい
正規表現を使用して入力を中国語のみに制限します: onkeyup="value="/blog/value.replace(/["^u4E00-u9FA5]/g,") ” onbeforepaste="clipboardData.setData('text',clipboardData. getData('text').replace(/[^u4E00-u9FA5]/g,”))”
正規表現を使用して全角文字のみの入力を制限します: onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,") ” onbeforepaste="clipboardData.setData('text ',clipboardData .getData('text').replace(/[^uFF00-uFFFF]/g,"))"
正規表現を使用して入力を数値に制限します: onkeyup="value="/blog/value.replace(/["^d]/g,") "onbeforepaste="clipboardData.setData('text',clipboardData.getData( ' text').replace(/[^d]/g,"))"
正規表現を使用して、入力を数字と英語のみに制限します。 onkeyup="value="/blog/value.replace(/[W]/g,"") "onbeforepaste="clipboardData.setData('text',clipboardData.getData) ('テキスト').replace(/[^d]/g,"