我写了一个验证 手机号码 密码的 函数 如下
function validatePassword(password) {
if (password.length == 0) {
swal({
title: "你好像忘记请填写密码了",
text: "请输入用户密码",
timer: 1700,
showConfirmButton: false,
type: "error",
});
return false;
}
if (password.length < 6) {
swal({
title: "密码太短了",
text: "密码长度不能低于6位",
timer: 1700,
showConfirmButton: false,
type: "error",
});
return false;
}
if (password.length > 16) {
swal({
title: "密码太长了",
text: "密码长度不能高于16位",
timer: 1700,
showConfirmButton: false,
type: "error",
});
return false;
}
}
我调用了这个函数
按道理如果有错误 下面的 function_name();就不会被执行了?
为什么依然会执行呢?
结果如下
电子邮件和密码都没有填写 但是却弹出 function_name(); 执行的 内容切覆盖了原先的内容
swal() 函数 是一个美化弹出的库 地址如下 http://www.dglives.com/demo/sweetalert-master/example/
应该这么写, 另外, 这里可以贴代码的
主函数没有返回,检验函数返回值没有利用
var isValidate = validatePassword(password) ;
if(isValidate){
}
你只是在
validatePassword
方法内返回了false,并没有结束click时间啊?可以对validatePassword
的返回值进行判断return 只能stop当前函数
要想彻底stop js 只能 throw error
还有一种方法能stop js 就是alert。其他函数都stop不了,包括settimeout