求检查用户名的正则表达式

zhobin 2004-04-19 08:53:58
求检查用户名的正则表达式
只能是字母开头,可以有字母、数字、下划线
...全文
1825 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nowfox 2004-05-09
  • 打赏
  • 举报
回复
就是那个“w”就行了呀
给一个在前台验证的
<asp:TextBox onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" id="txtUserName" onkeyup="value=value.replace(/[\W]/g,'') " Runat="server" MaxLength="12"></asp:TextBox>
chating 2004-05-09
  • 打赏
  • 举报
回复
<INPUT id="txtUser" type="text" maxLength="50" name="txtUser" runat="server">
<asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ForeColor="Firebrick" ControlToValidate="txtUser" ErrorMessage="用户名添写错误.!">*</asp:requiredfieldvalidator><asp:regularexpressionvalidator id="RegularExpressionValidator1" runat="server" ForeColor="DarkRed" ControlToValidate="txtUser" ErrorMessage="用户格式错误,不能含(!@#$%^&amp;*+;:)等字符!" ValidationExpression="[\w-]+" Display="Dynamic">格式错误</asp:regularexpressionvalidator>
chating 2004-05-09
  • 打赏
  • 举报
回复
//Register.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace CTBBS
{
/// <summary>
/// register 的摘要说明。
/// </summary>
public class register : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputText txtPwd;
protected System.Web.UI.HtmlControls.HtmlInputText txtRepwd;
protected System.Web.UI.HtmlControls.HtmlTable advTable;
protected System.Web.UI.HtmlControls.HtmlInputText txtMsn;
protected System.Web.UI.HtmlControls.HtmlInputText txtQuestion;
protected System.Web.UI.HtmlControls.HtmlInputText txtAnswer;
protected System.Web.UI.WebControls.CheckBox chkAdv;
protected System.Web.UI.HtmlControls.HtmlInputButton bnSubmit;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
protected System.Web.UI.HtmlControls.HtmlInputText txtUser;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator2;
protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator3;
protected System.Web.UI.WebControls.Label regMsg;
protected System.Web.UI.HtmlControls.HtmlInputText txtEmail;
protected System.Web.UI.HtmlControls.HtmlInputRadioButton rdoSexMale;
protected System.Web.UI.HtmlControls.HtmlInputRadioButton rdoSexFemale;
protected System.Web.UI.HtmlControls.HtmlInputText txtServerCheck;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.CompareValidator CompareValidator2;
protected System.Web.UI.HtmlControls.HtmlInputText txtServerRe;
protected System.Web.UI.HtmlControls.HtmlInputText txtQq;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
advTable.Visible = false;
Random rnd=new Random();
int i=rnd.Next(1000,9999);
txtServerRe.Value = i.ToString();
//数据库的连接和查询//
//产生随机数字,并且生成为图片!
//ImagePic pic = new ImagePic ();
//Response.ContentType = "image/gif";
//pic.getImage (txtServerRe.Value).Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.chkAdv.CheckedChanged += new System.EventHandler(this.chkAdv_CheckedChanged);
this.bnSubmit.ServerClick += new System.EventHandler(this.bnSubmit_ServerClick);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void chkAdv_CheckedChanged(object sender, System.EventArgs e)
{
if(chkAdv.Checked)
{
//advTable.Style.Remove("DISPLAY");
//advTable.Style .Add ("DISPLAY","none");
//advTable.Disabled = true;
advTable.Visible = true;
}
else
{
advTable.Visible = false;
}
}

private void bnSubmit_ServerClick(object sender, System.EventArgs e)
{
//regMsg.Text = "您好,你的登陆是否成功呢?(测试哦)";
string sex="0";
if( rdoSexMale.Checked )
sex = rdoSexMale.Value ;
if (rdoSexFemale.Checked )
sex = rdoSexFemale.Value ;
string pwd = txtPwd.Value ;
//pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPwd.Value,"md5");
User regUser = new User();
string strRegIp=Request.ServerVariables["REMOTE_ADDR"];
string reg=regUser.RegisterUser (txtUser.Value ,pwd ,Convert.ToInt32(sex),txtEmail.Value ,txtMsn.Value ,txtQq.Value , strRegIp, strRegIp, txtQuestion.Value ,txtAnswer.Value );
if(reg=="OK")
{
regMsg.Text = "注册成功!";

Session.Add("UserName",txtUser.Value);
Session.Add("UserPwd",txtPwd.Value);
User u = new User();
Session.Add("UserMp",u.getUserDetailsByName(txtUser.Value).intMp);
Session.Add("LoginFlag","OK");

HttpCookie hcUserInfo = new HttpCookie("UserInfo");
hcUserInfo.Values.Add("Name",txtUser.Value);
hcUserInfo.Values.Add("Pwd",txtPwd.Value);
hcUserInfo.Values.Add("LastTime",System.DateTime.Now.ToString());
hcUserInfo.Expires = DateTime.Now.AddDays (30);
Response.Cookies.Add(hcUserInfo);

Response.Redirect ("./Frame.aspx",true);
}
else
{
regMsg.Text=reg;
}
}
}
}
chating 2004-05-09
  • 打赏
  • 举报
回复
看看我写的用户登陆验证的:
含正则表答式
//Register.aspx

<%@ Page language="c#" Codebehind="register.aspx.cs" AutoEventWireup="false" Inherits="CTBBS.register" %>
<%@ Register TagPrefix="uc1" TagName="bottom" Src="bottom.ascx" %>
<%@ Register TagPrefix="CTBBS" TagName="header" Src="header.ascx" %>
<HTML>
<HEAD>
<title>..::用户注册::..</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="StyleSheet.css" type="text/css" rel="stylesheet">
</HEAD>
<body class="bd1">
<CTBBS:HEADER id="Header1" runat="server"></CTBBS:HEADER>
<form method="post" runat="server">
<table width="750">
<tr>
<td><br>
<DIV align="center">
<table width="100%" align="center">
<tr>
<td width="46%"></td>
<td>用户注册</td>
</tr>
</table>
<asp:label id="regMsg" runat="server"></asp:label>
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td align="right" width="36%" height="1"><FONT face="宋体"></FONT></td>
<td><FONT face="宋体"><asp:validationsummary id="ValidationSummary1" runat="server" ForeColor="DarkRed"></asp:validationsummary></FONT></td>
</tr>
</table>
</DIV>
</td>
</tr>
<tr>
<td vAlign="top">
<table width="80%" align="center">
<tr>
<td width="37%">
<div align="right">用户名:</div>
</td>
<td><INPUT id="txtUser" type="text" maxLength="50" name="txtUser" runat="server">
<asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ForeColor="Firebrick" ControlToValidate="txtUser"
ErrorMessage="用户名添写错误.!">*</asp:requiredfieldvalidator><asp:regularexpressionvalidator id="RegularExpressionValidator1" runat="server" ForeColor="DarkRed" ControlToValidate="txtUser"
ErrorMessage="用户格式错误,不能含(!@#$%^&amp;*+;:)等字符!" ValidationExpression="[\w-]+" Display="Dynamic">格式错误</asp:regularexpressionvalidator></td>
</tr>
<tr>
<td>
<div align="right">密码:</div>
</td>
<td><FONT face="宋体"><INPUT id="txtPwd" type="password" maxLength="50" name="txtPwd" runat="server">
<asp:requiredfieldvalidator id="RequiredFieldValidator2" runat="server" ForeColor="DarkRed" ControlToValidate="txtPwd"
ErrorMessage="请输入密码!">*</asp:requiredfieldvalidator><asp:regularexpressionvalidator id="RegularExpressionValidator2" runat="server" ForeColor="DarkRed" ControlToValidate="txtPwd"
ErrorMessage="密码必须6个字符以上" ValidationExpression="[^']{6,}" Display="Dynamic">密码必须6个字符以上</asp:regularexpressionvalidator></FONT></td>
</tr>
<tr>
<td style="HEIGHT: 26px">
<div align="right">密码校验:</div>
</td>
<td style="HEIGHT: 26px"><FONT face="宋体"><INPUT id="txtRepwd" type="password" maxLength="50" name="txtRepwd" runat="server">
<asp:comparevalidator id="CompareValidator1" runat="server" ForeColor="DarkRed" ControlToValidate="txtPwd"
ErrorMessage="两次输入的密码不符!" Display="Dynamic" ControlToCompare="txtRepwd">*</asp:comparevalidator></FONT></td>
</tr>
<tr>
<td style="HEIGHT: 26px">
<div align="right">校验码:</div>
</td>
<td style="HEIGHT: 26px"><FONT face="宋体"><INPUT id="txtServerCheck" type="text" maxLength="4" size="8" name="txtServerCheck" runat="server">
<INPUT id="txtServerRe" type="text" maxLength="4" size="8" name="txtServerRe" runat="server"
style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;HEIGHT:24px;TEXT-ALIGN:center"
readOnly>
<asp:RequiredFieldValidator id="RequiredFieldValidator3" runat="server" ForeColor="DarkRed" ErrorMessage="校验码错误"
ControlToValidate="txtServerCheck" Display="Dynamic">*</asp:RequiredFieldValidator>
<asp:CompareValidator id="CompareValidator2" runat="server" ForeColor="DarkRed" ErrorMessage="请输入后面的数字id校验码"
Display="Dynamic" ControlToCompare="txtServerCheck" ControlToValidate="txtServerRe"></asp:CompareValidator></FONT></td>
</tr>
<tr>
<td colSpan="2">
<table width="100%">
<tr>
<td width="35%"><FONT face="宋体"></FONT></td>
<td><asp:checkbox id="chkAdv" runat="server" AutoPostBack="true" Text="显示高级注册项"></asp:checkbox></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colSpan="2">
<DIV align="right">
<table id="advTable" width="100%" runat="server">
<tr>
<td width="36%">
<div align="right">性别:</div>
</td>
<td><INPUT id="rdoSexMale" type="radio" value="1" name="rdoSex" runat="server"><FONT face="宋体">男</FONT><INPUT id="rdoSexFemale" type="radio" value="2" name="rdoSex" runat="server"><FONT face="宋体">女</FONT></td>
</tr>
<tr>
<td>
<div align="right">Email:</div>
</td>
<td> <INPUT id="txtEmail" type="text" maxLength="50" name="txtEmail" runat="server">
<asp:regularexpressionvalidator id="RegularExpressionValidator3" runat="server" ForeColor="DarkRed" ControlToValidate="txtEmail"
ErrorMessage="请输入正确的Email格式!" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic">如:YuErping@163.com</asp:regularexpressionvalidator></td>
</tr>
<tr>
<td>
<div align="right">Msn:</div>
</td>
<td> <INPUT id="txtMsn" type="text" maxLength="50" name="txtMsn" runat="server"></td>
</tr>
<tr>
<td>
<div align="right">QQ:</div>
</td>
<td> <INPUT id="txtQq" type="text" maxLength="20" name="txtQq" runat="server"></td>
</tr>
<tr>
<td>
<div align="right">密码提示问题:</div>
</td>
<td> <INPUT id="txtQuestion" type="text" maxLength="100" name="txtQuestion" runat="server"></td>
</tr>
<tr>
<td>
<div align="right">密码提示答案:</div>
</td>
<td> <INPUT id="txtAnswer" type="text" maxLength="100" name="txtAnswer" runat="server"></td>
</tr>
</table>
</DIV>
<DIV align="center"><input class="b1" id="bnSubmit" type="button" value=" 提交 " name="bnSubmit" runat="server">
<input class="b1" id="bnReset" type="reset" value=" 重置 " name="bnReset">
</DIV>
</td>
</tr>
</table>
</td>
</tr>
</table>
<uc1:bottom id="Bottom1" runat="server"></uc1:bottom>
</form>
</body>
</HTML>
si812cn 2004-05-09
  • 打赏
  • 举报
回复
Regex.IsMatch(string s,@"^([\w-]+)$")
包括下划线横杠字母数字
gxg2003csdn 2004-05-09
  • 打赏
  • 举报
回复
up
Seeko0 2004-04-21
  • 打赏
  • 举报
回复
/^[A-Za-z]+[A-Za-z0-9_]+$/
jxf_yx 2004-04-21
  • 打赏
  • 举报
回复
^[a-zA-Z_0-9]+$
hnahzx 2004-04-19
  • 打赏
  • 举报
回复
\w+
能保证只包含字母、数字、下划线,但不能保证字母开头。
潜水员2099 2004-04-19
  • 打赏
  • 举报
回复
给你写了个例子,测试通过

RegExp.aspx:

<%@ Page language="c#" Codebehind="RegExp.aspx.cs" AutoEventWireup="false" Inherits="aspnettest.RegExp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RegExp</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
<!--
function checkusername()
{
var username = document.all.TextBox1.value;
var first = username.charCodeAt(0);
if(username != "")
{
if( (first>=65 && first <= 90)||(first>=97 && first<=122) )
{
var pattern = /^[A-Za-z0-9_]+$/;
if(pattern.test(username))
{
alert('OK!');
return true;
}
else
{
alert('输入了非法字符!');
return false;
}
}
else
{
alert('首字母必须是A-Z或者a-z!');
return false;
}
}
else
{
alert('请输入用户名!');
return false;
}
}
//-->
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"
MaxLength="20"></asp:TextBox>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 24px; POSITION: absolute; TOP: 64px" runat="server"
Text="登陆"></asp:Button>
</form>
</body>
</HTML>


RegExp.aspx.cs:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace aspnettest
{
/// <summary>
/// RegExp 的摘要说明。
/// </summary>
public class RegExp : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Button Button1;

private void Page_Load(object sender, System.EventArgs e)
{
if(!this.Page.IsPostBack)
{
this.Button1.Attributes.Add("onclick", "javascript:return checkusername();");
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
this.Page.RegisterStartupScript("ok","<script>alert('登陆按钮事件,用户名OK!');</script>");
}
}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧