使用正则表达式验证控件?输入只有字母数字,至少有一个数字和字符不能工作
本文关键字:数字 有一个 工作 不能 字符 验证 正则表达式 控件 输入 | 更新日期: 2023-09-27 18:16:38
我在asp.net中创建了一个正则表达式验证。我的要求是:
第一个数字,
第二个字母,
第三个特殊字符
第四个字母数字,至少一个数字和字符
但是第四个文本框不适合我。谁能帮我修一下
Aspx页
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Validation.aspx.cs" Inherits="ValidatorExample.Validation" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="textBox1" runat="server" OnTextChanged="textBox1_Validating"></asp:TextBox>
<asp:Label ID="Label1" runat="server" ForeColor="Red" Text="Label" Visible="False"></asp:Label>
<br />
<br />
<asp:TextBox ID="textBox2" runat="server" OnTextChanged="textBox1_Validating"></asp:TextBox>
<asp:Label ID="Label2" runat="server" ForeColor="Red" Text="Label" Visible="False"></asp:Label>
<br />
<br />
<br />
<asp:TextBox ID="textBox3" runat="server" OnTextChanged="textBox1_Validating"></asp:TextBox>
<asp:Label ID="Label3" runat="server" ForeColor="Red" Text="Label" Visible="False"></asp:Label>
<br />
<br />
<asp:TextBox ID="textBox4" runat="server" OnTextChanged="textBox1_Validating"></asp:TextBox>
<asp:Label ID="Label4" runat="server" ForeColor="Red" Text="Label" Visible="False"></asp:Label>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<br />
</div>
</form>
</body>
</html>
aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
Regex regex = new Regex(@"[^0-9]");
Regex reg = new Regex(@"[^a-zA-Z]");
Regex reg1 = new Regex(@"[^a-zA-Z0-9]");
Regex reg2 = new Regex(@"^[0-9a-zA-Z*]+$");
Label1.Visible = false;
Label2.Visible = false;
Label3.Visible = false;
Label4.Visible = false;
if (regex.IsMatch(textBox1.Text))
{
Label1.Text = "Enter Only numbers";
Label1.Visible = true;
}
if (reg.IsMatch(textBox2.Text))
{
Label2.Text = "Enter Only alphabets";
Label2.Visible = true;
}
if (reg1.IsMatch(textBox3.Text))
{
Label3.Text = "Enter Only alphanumeric";
Label3.Visible = true;
}
if (reg2.IsMatch(textBox4.Text))
{
Label4.Text = "Enter Only alphanumeric atleast onenumber and char";
Label4.Visible = true;
}
}
}
}
一个数字和字符包括数字还是不包括数字?
使用你的正则表达式,我们可以这样做,包括数字:
^[0-9][0-9a-zA-Z*]+$
或者这个,以排除数字:
^[0-9][a-zA-Z*]+$
尝试使用Regex Hero,但它似乎可以工作。
编辑:好吧,也许我理解错了。如果在字符串的任何位置需要一个字母和一个数字,可以使用以下正则表达式:^'w*(?='w*'d)(?='w*[a-zA-Z])'w*$
(这是本页的正则表达式的修改版本,所以感谢作者)