前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="Test.index" %>
<!DOCTYPE html>
<html>
<head>
<title>用户注册</title>
</head>
<body>
<form id="form1" method="get" runat="server">
<div>
账号<asp:TextBox ID="name_box" runat="server"></asp:TextBox><br />
密码<asp:TextBox ID="password_box" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="注册" />
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
namespace Test
{
public partial class index : System.Web.UI.Page
{
bool namejudge = false;
bool passwdjudge = false;
bool userselect = false;
public void NameJudge(string name) //约束用户名规则
{
int namesize;
namesize = name.Length;
if (namesize >= 4 && namesize <= 8)
{
}
else
{
Response.Write("用户名长度不符合规范,请从新输入!"); //首字母汉字
return;
}
for (int i = 1; i < name.Length; i++)
{
if (Char.IsWhiteSpace(name, i))
{
Response.Write("用户名包含非法字符,请重新输入!");
return;
}
else if (Char.ConvertToUtf32(name, i) >= Convert.ToInt32("4e00", 16) && Char.ConvertToUtf32(name, i) <= Convert.ToInt32("9fff", 16))
{
Response.Write("用户名包含非法字符,请重新输入!");
return;
}
else if (Char.IsLetter(name, i))
{
}
else if (Char.IsDigit(name, i))
{
}
else
{
Response.Write("用户名包含非法字符,请重新输入!");
return;
}
}
if (Char.ConvertToUtf32(name, 0) >= Convert.ToInt32("4e00", 16) && Char.ConvertToUtf32(name, 0) <= Convert.ToInt32("9fff", 16))
{
Response.Write("首字母不是字母请重新输入!"); //首字母汉字
return;
}
else if (Char.IsLetter(name, 0))
{
namejudge = true;
return;
}
else if (Char.IsDigit(name, 0))
{
Response.Write("首字母不是字母请重新输入!"); //首字母数字
return;
}
else
{
Response.Write("首字母不是字母请重新输入!"); //首字母数字
return;
}
}
public void PasswdJudge(string passwd) //约束密码规则
{
int passwdsize;
passwdsize = passwd.Length;
if (passwdsize >= 6 && passwdsize <= 16)
{ }
else
{
Response.Write("字符长度不符合规范,请从新输入!"); //首字母汉字
return;
}
for (int i = 0; i < passwd.Length; i++)
{
if (Char.IsWhiteSpace(passwd, i))
{
Response.Write("密码包含非法字符,请重新输入!");
return;
}
else if (Char.ConvertToUtf32(passwd, i) >= Convert.ToInt32("4e00", 16) && Char.ConvertToUtf32(passwd, i) <= Convert.ToInt32("9fff", 16))
{
Response.Write("密码包含非法字符,请重新输入!");
return;
}
else if (Char.IsLetter(passwd, i))
{
}
else if (Char.IsDigit(passwd, i))
{
}
else
{
Response.Write("密码包含非法字符,请重新输入!");
return;
}
}
passwdjudge = true;
return;
}
public void SelectMSM(string name)
{
String cmdText = "select count(*) from UserInfo where name='"+name+"'";
SqlCommand mycommand = new SqlCommand(cmdText, DBHandle.mySqlConnection);
int result = (int)mycommand.ExecuteScalar();
if (result > 0)
{
Response.Write("用户已注册,请重新输入!");
userselect = true;
return;
}
}
public void GetMSM()
{
string name = Request.QueryString["name_box"];
string passwd = Request.QueryString["password_box"];
if (name == null || passwd == null)
{
return;
}
NameJudge(name);
if (namejudge == true)
{ }
else if (namejudge == false)
{
return;
}
PasswdJudge(passwd);
if (passwdjudge == true)
{ }
else if(passwdjudge==false)
{
return;
}
SelectMSM(name);
if (userselect == true)
{
return;
}
String cmdText = "insert into UserInfo(name,passwd) values('" + name + "','" + passwd + "')";
SqlCommand mycommand = new SqlCommand(cmdText, DBHandle.mySqlConnection);
mycommand.ExecuteNonQuery();
Response.Write("注册成功!");
}
protected void Page_Load(object sender, EventArgs e)
{
DBHandle.OpenDataBase();
GetMSM();
DBHandle.CloseDataBase();
}
}
}