AndroidアプリID名を検証しようとしています。この正規表現パターンを使用/com\.[a-z]+\.[a-z]+/
しましたが、これはテキストcom.example.comのパターンのみを検証しますが、調査の結果、GooglePlayの一部のアプリのバンドルID名は次のようになっています。例:eu.og.com、au.gh.cc.com、さらにはcom.example.jk.comの場合、Javascriptの正規表現でこれらすべてを検証するにはどうすればよいですか。
<script>
var android_prop = "com.example.com";
regexp = /com\.[a-z]+\.[a-z]+/;
if (regexp.test(android_prop))
{
alert("Correct Android name");
} else {
alert("Void Android name");
}
</script>
そこで、チェックしていくつかの検索を行った後、将来問題が発生する可能性のある人のために、JavascriptとPHPの正規表現の問題を解決するための解決策を思いつきました。
JAVASCRIPTの場合:
//var android_prop = $("#android_apps_text").val(); - uncomment this if you want the value from a textarea for validation and clean off next line
var android_prop = "com.example.com || eu.gh.ho.com"; //any android name
regexp = /^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$/i;
if (regexp.test(android_prop))
{
alert("Valid android app id.");
} else {
alert("Invalid android app id.");
}
PHPの場合:
//DO NOT CREATES MATCHES VARIABLE, COPY AND PASTE THE PHP CODE BELOW
$android_prop = "com.example.com || eu.gh.cc.com"; //matches all android pattern
$re = '/^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$/i';
if (preg_match_all($re, $android_prop, $matches)){
echo "Valid android app ID";
} else {
echo "Invalid android app ID";
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加