列表

详情


阅读以下说明,回答问题 1至问题 2,将解答填入答题纸的对应栏内。
【说明】
某软件公司采用 ASP.NET+SQL Server 技术,前端页面采用HTML+CSS +JavaScript 方式,开发一套电子商务网站,主要包括用户注册与登录、商品展示与销售、订单处理等功能,项目团队某成员被分配设计实现用户注册与登录部分。


【问题1】(8分)
为了提高网站访问效率,采用JavaScript 进行客户端验证,用户注册页面中,需要验证用户各信息的合法性。假定页面中用户名控件的ID为“myname”,密码控件的ID为“mypwd1”,确认密码控件的ID为“mypwd2”,以下程序验证用户名非空且长度至少6位,密码及确认密码一致、非空且必须是数字(其他信息的验证忽略)。根据题目描述,完成以下程序。
function checkReg()

var username=document.getElementByID(“myname”).(1)
Var pwd=document.getElementById(“mypwd1”).(1)
var pwdConfirm=document.getElementById(“mypwd2”).(1)
var checkright=true;
if(username=="")||pwd==""||pwdConfirm==""
{
alert("请确认用户名和密码输入是否正确!!")
checkright=false;
}
else
{
if(username.length<(2))
{
alert(“用户名长度至少6个字符!!”);
checkright=false;
}
else
{
for(var i=0;i {
var onechar=pwd.charAt(i)
if(onechar>(4)||onechar<(5))
{
alert("密码必须为数字字符!");
checkright=false;
break;
}
}
if(i>=(6))
{
if(pwd!=(7))
{
alert("两次输入的密码必须一致!!");
checkright=false;
}
else
{
checkright=(8);
}
}
}
return checkright;
}
【问题2】(7分)
以下程序表示用户登录过程,假定数据库连接字符串正确无误,用户信息表名为"users",登录页面中包括用户编号控件(ID 为 myUserID)、密码控件(ID为 mypwd)等。采用 SQL 参数化方式实现数据库查询,登录成功时,跳转至"userCenter.aspx" 页面,登录失败时,弹出错误提示。根据题目描述,完成以下程序。
public void UserLogin()
{
string strcon="server=dataServer;database=shop;uid=sa;pwd=sa;";
SqlConnection con=new SqlConnection(strcon);
string userID=Request.Form["(9)"];
string pwd=Request.Form["(10)"];
string sqlStr="select * from users where UserID=@userID and UserPWD=@pwd";
Sqlparameter[]p=
{
new SqlParameter("@userID",(11))
new SqlParameter("@"pwd,(12))
};
try
{
SqlDataAdapter da=new SqlDataAdapter(aqlStr,(13));
da.SelectCommand.Parameters.AddRange(p);
DataSet ds=new DataSet();
da.Fill((14));
if(ds.Tables[0].Rows.Count>0)
Response.Redirect("(15)");
else
Response.Write("");
}
catch(Exception e)
{
Response.Write(e.ToString());
}
}

参考答案:

【问题1】
(1)value
(2)6
(3)length
(4)“9”
(5)“0”
(6)pwd.length
(7)pwdConfirm
(8)true
【问题2】
(9)myUserID
(10)mypwd
(11)userID
(12)pwd
(13)con
(14)ds
(15)userCenter.aspx

详细解析:

【问题1】
(1)document.getElementById("id").value是获取HTML标签中id=“id”的value的方法。
(2)判断用户名长度至少为6个字符条件表达式为if(username.length<6)。
(3)设置for循环条件,i的终值为密码的长度,即pwd.length。
(4)(5)判断密码字符中是否有非数字字符,判断条件设置为if(onechar>’9’||onechar<’0’)
(6)判断密码是否已经符合纯数字的规范了,即i的值>=密码的长度(i>=pwd.length)
(7)判断密码及确认密码是否输入不一致,即if(pwd!= pwdConfirm)
(8)判断密码及确认密码输入一致的情况下,将checkright置为true值,将其作为函数值返回。
【问题2】
(9)Request.Form是接收post方法的对象,从题中判断得知是用来接收用户名控件中的用户信息,即Request.Form[“myUserID”]。
(10)用来接收密码控件中的密码信息,即Request.Form[“mypwd”]。
(11)SqlParameter(String,Object),初始化SqlParameter类的新实例,该类使用参数名称和新 SqlParameter的值;根据题中判断得知,@userID值为userID。
(12)根据题中判断得知,@pwd值为pwd。
(13)SqlDataAdapter的语法格式为SqlDataAdapter,对象名=new SqlDataAdapter(查询用sql语句,数据库连接对象),根据题中判断可知为连接对象con。
(14)Fill方法括号中接DataSet对象,即ds。
(15)实现页面跳转,即Response.Redirect(“userCenter.aspx”)。

上一题