window.onload= function(){ /* 表單提交是預設行為 * preventDefault() * returnValue = false; var btnCheck = document.getElementById('btnCheck'); btnCheck.onclick ...
一、返回控制與函數結果,
語法為: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;
}
/*
電子郵件
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
*/
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;
}
}
}