使用正则表达式验证控件?输入只有字母数字,至少有一个数字和字符不能工作

本文关键字:数字 有一个 工作 不能 字符 验证 正则表达式 控件 输入 | 更新日期: 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*$

(这是本页的正则表达式的修改版本,所以感谢作者)