1
私は電子メール、パスワード、およびユーザー名の入力が正当であるかどうかを確認するためにRegexを使用しています。それは確認されていません。ユーザーは自分が望むものを入力することができ、それは自分のデータベースに入ります。Regexとブーリアンを使用して入力をサニタイズする
私は関数を実行するためにすべてのブール値が真であることを望みます。
private void bunifuFlatButton2_Click(object sender, EventArgs e)
{
string username = textBox1.Text;
bool IsRealUser = Regex.IsMatch(username, @"\A(?:[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)\Z");
string password = textBox2.Text;
bool IsRealPass = Regex.IsMatch(password, @"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,15}$");
string email = textBox4.Text;
bool IsRealEmail = Regex.IsMatch(email, @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
{
System.Windows.Forms.MessageBox.Show("Fill out the required forms!");
return;
}
else if (textBox2.Text != textBox3.Text)
{
System.Windows.Forms.MessageBox.Show("Your passwords are not matching");
}
else if (IsRealPass || IsRealUser || IsRealEmail) //I want all these inputs to be true in order to execute //function.
{
//function
}
ありがとうございました!私はこれに多くの時間を費やしてきました。 – OracleStart
はい、ブール型AND '&&'ではなく、ブール型AND '&&'を使用する必要があります。 ORで、単一項が真であれば、式全体が真です。 – chadnt
@OracleStart '||'はORを意味し、 '&&'はAND –