我正在使用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
}
答案 0 :(得分:3)
如上所述,如果任何测试都为真,则将执行该块。
else if (IsRealPass || IsRealUser || IsRealEmail)
{
//function
}
您需要&&
,以便所有测试条件必须为true才能执行该块。
else if (IsRealPass && IsRealUser && IsRealEmail)
{
//function
}