テキスト ボックス エントリの正規表現の検証に関する簡単な質問です。基本的に、ウェブサイトアドレスの形式でユーザー入力に使用しているテキストボックスがあります。ユーザーは何でも入力できます (有効な Web サイト アドレスである必要はありません。つまり、www.facebook.com です。"何とか何とか" と入力することもできますが、それは問題ありませんが、実行されません。
私が求めているのは、アラビア語、ギリシャ語、中国語などのさまざまな言語を検証することです。現在、私は英語の文字しか許可していないためです。
メソッドのコードは次のとおりです。これをホワイトリストからブラックリストに切り替える必要があると思うので、一致するものを確認する代わりに、式を無効な文字に変更し、ユーザーがこれらのいずれかを入力した場合は許可しないでください。
public static bool IsValidAddress(string path)
{
bool valid = false;
valid = (path.Length > 0);
if (valid)
{
string regexPattern = @"([0-9a-zA-Z*?]{1})([-0-9a-zA-Z_\.*?]{0,254})";
// Elimate the '"' character first up so it simplifies regular expressions.
valid = (path.Contains("\"") == false);
if (valid)
{
valid = IsValidAddress(path, regexPattern);
}
if (valid)
{
// Need an additional check to determine that the address does not begin with xn--,
// which is not permitted by the Internationalized Domain Name standard.
valid = (path.IndexOf("xn--") != 0);
}
}
return valid;
}
ご覧のとおり、0-9a-zA-Z が含まれていますが、デフォルトでは、これにより他の言語が除外されますが、言語を含めたいと考えています。
どんな助けでも大歓迎です。もし私が誰かを混乱させてしまったら、ごめんなさい!必要に応じて、より多くの情報を提供できます。
ありがとう。