关于return false
一、返回控制与函数结果,
语法为:return 表达式;
语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果
二、返回控制,
无函数结果,语法为:return;在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.
Return False 就相当于终止符,Return True 就相当于执行符。
在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的
onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果
你想取消对象的默认动作就可以return false。
首先在js中,我们常用return false来阻止提交表单或者继续执行下面的代码,通俗的来说就是阻止执行默认的行为。
function a(){
if(True)
return false;
},这是没有任何问题的。
如果我改成这种
function Test(){
a();
b();
c();
}
即使a函数返回return false 阻止提交了,但是不影响 b()以及
c()函数的执行。在Test()函数里调用a()函数,那面里面
return false 对于Test()函数来说,只是相当于返回值。而不能阻止Test()函数执行。
总之:return false 只在当前函数有效,不会影响其他外部函数的执行。
三:总结
retrun true; 返回正确的处理结果。
return false;分会错误的处理结果,终止处理。
return;把控制权返回给页面
***转载网络大牛,无干货,知识点记录罢了***
*****以下为知识点的运用******
表单的验证(正则表达式验证)
window.onload= function(){
/*
表单提交是默认行为
* preventDefault()
* returnValue = false;
var btnCheck = document.getElementById('btnCheck');
btnCheck.onclick = function(e){
e = e || window.event;
/*
验证账号
* 不能为空,
* 不能使用特殊字符(数字、字母、下划线、横杠),
* 必须以字母开头,
* 长度6-20
*/
var username = document.getElementById('username').value;//6laoxie
if(!/^[a-z][a-z0-9_\-]{5,19}$/i.test(username)){
alert('输入的用户名不合法');
// 条件不符合不能提交表单
// e.preventDefault?e.preventDefault():returnValue=false;
return false;
}
//昵称只能输入中文
var nickname = document.getElementById('nickname').value;
if(!/^[\u2E80-\u9FFF]+$/.test(nickname)){
alert('昵称只能为中文');
return false;
}
/*
电子邮件
jinrong.xie@qq.com
123@qq.com
x_x@163.com
x-x@a-r.com.cn
x.x@laoxie.com
*/
var email = document.getElementById('email').value;
if(!/^[a-z0-9][\w\-\.]{2,}@[\da-z\-]{2,67}(\.[a-z]{2,6})+$/i.test(email)){
alert('邮箱不合法');
return false;
}
/*
身份证
18/15
445655 19900707 2165
445655 19900707 211x
*/
var identity = document.getElementById('identity').value;
if(!/^(\d{14}|\d{17})[\dx]$/i.test(identity)){
alert('身份证不合法');
return false;
}
/*
手机号码
11位
158 8888 8888
1 [34578]
*/
var phone = document.getElementById('phone').value;
if(!/^1[3-9]\d{9}$/i.test(phone)){
alert('手机号不合法');
return false;
}
/*
生日
1999/05/08
1999-5-8
19990508
1999-05/08 不合法
引用分组
* 正则内:\n
* 正则外:$n
分组顺序:以左括号出现的顺序为分组顺序
*/
var birthday = document.getElementById('birthday').value;
if(!/^\d{4}([\-\/]?)\d{1,2}\1\d{1,2}$/i.test(birthday)){
alert('生日不合法');
return false;
}
/*
密码
长度6-20
不能包含空格
*/
var password = document.getElementById('password').value;
// if(!/^\S{6,20}$/i.test(password)){
if(!/^[^\s]{6,20}$/i.test(password)){
alert('密码不合法');
return false;
}
var confirm_pwd = document.getElementById('confirm_pwd').value;
if(confirm_pwd != password){
alert('两次输入密码不一致');
return false;
}
}
}