jquery如何拆分数组? 15
我有一串通过ajax从数据库取得的字符串varstr="1,张三;2,李四;3,王五";现在要做的就是如果在用户名框和密码框输入1和张三,2和李四,3和王五就可以登陆,其...
我有一串通过ajax从数据库取得的字符串
var str = "1,张三;2,李四;3,王五";
现在要做的就是如果在用户名框和密码框输入1和张三,2和李四,3和王五就可以登陆,其他都不能登陆!怎么写?
<script type="text/javascript">
$(document).ready(function () {
var str = "1,张三;2,李四;3,王五"; //数据表形成的字符串
$("#testBtn").click(function () {
var r = str.split(";"); //r现在是一个数组,里面存了表格的每一行
var n = r.length; //n表示表格的行数
var success = false; //标识是否登陆成功
//遍历表格的行
for (var i = 0; i <= n; i++) {
var m = r[i].split(","); //针对表格的行使用逗号分隔,形成数组m
var l = m.length; //m的长度代表每一行有多少列
//alert(m[0] + '号是' + m[1]);
if ($("#testName").val() == m[0] && $("#testPwd").val() == m[1]) {
//alert('成功的号数是' + m[0] + ',人是' + m[1]);
success = true;
} else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
}
if (success == true) {
alert("登陆成功!");
} else if (success == false) {
alert("登陆失败!");
}
});
});
</script>
HTML页面只有三个东西:
<input type="text" id="testName" />
<input type="text" id="testPwd" />
<input type="button" id="testBtn" value="提交" />
我思路转不过来,求解啊.... 展开
var str = "1,张三;2,李四;3,王五";
现在要做的就是如果在用户名框和密码框输入1和张三,2和李四,3和王五就可以登陆,其他都不能登陆!怎么写?
<script type="text/javascript">
$(document).ready(function () {
var str = "1,张三;2,李四;3,王五"; //数据表形成的字符串
$("#testBtn").click(function () {
var r = str.split(";"); //r现在是一个数组,里面存了表格的每一行
var n = r.length; //n表示表格的行数
var success = false; //标识是否登陆成功
//遍历表格的行
for (var i = 0; i <= n; i++) {
var m = r[i].split(","); //针对表格的行使用逗号分隔,形成数组m
var l = m.length; //m的长度代表每一行有多少列
//alert(m[0] + '号是' + m[1]);
if ($("#testName").val() == m[0] && $("#testPwd").val() == m[1]) {
//alert('成功的号数是' + m[0] + ',人是' + m[1]);
success = true;
} else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
}
if (success == true) {
alert("登陆成功!");
} else if (success == false) {
alert("登陆失败!");
}
});
});
</script>
HTML页面只有三个东西:
<input type="text" id="testName" />
<input type="text" id="testPwd" />
<input type="button" id="testBtn" value="提交" />
我思路转不过来,求解啊.... 展开
3个回答
展开全部
<script type="text/javascript">
$(document).ready(function () {
var str = "1,张三;2,李四;3,王五"; //数据表形成的字符串
var r = str.split(";"); //r现在是一个数组,里面存了表格的每一行
var n = r.length; //n表示表格的行数
$("#testBtn").click(function () {
var success = false; //标识是否登陆成功
//遍历表格的行
for (var i = 0; i < n; i++) { //n的长度为3,i是从0开始的
var m = r[i].split(",");
var l = m.length;
if ($("#testName").val() == m[0] && $("#testPwd").val() == m[1]) {
success = true;
break; //用户名密码正确据不要循环啦
} else {
success = false;
}
}
if (success == true) {
alert("登陆成功!");
} else if (success == false) {
alert("登陆失败!");
}
});
});
</script>
展开全部
数组越界了,所以报错就没弹出了。
注意这句for (var i = 0; i <= n; i++)不能是<=只能写i < n;
还有
else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
这里不要设false了,因为一是有默认值没必要加,二是你if里没加break导致你如果输入1,张三
后提交也会出false,原因就是true之后循环到2,李四又被改成false了
最好建议if匹配到后就break掉,效率高
注意这句for (var i = 0; i <= n; i++)不能是<=只能写i < n;
还有
else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
这里不要设false了,因为一是有默认值没必要加,二是你if里没加break导致你如果输入1,张三
后提交也会出false,原因就是true之后循环到2,李四又被改成false了
最好建议if匹配到后就break掉,效率高
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把下面的去掉就ok了
else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
else {
//alert('失败的号数是' + m[0] + ',人是' + m[1]);
success = false;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询