Code check from bằng Javascript PDF. In Email
Xem kết quả: / 34
Bình thườngTuyệt vời 
Bài viết này được đóng góp từ bạn Mạnh Tuấn ( Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. ).
Đoạn code dưới có chức năng chekc from đăng ký bao gồm check Email, các trường rỗng, radio, check sự giống nhau của mật khẩu và độ dài. Phù hợp với những bạn mới làm quen với Javascript.





<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
<SCRIPT LANGUAGE="javascript">
function khoiTao()
{
    var d = new Date();
    var newElement;
    var i;
  
    for (i=d.getYear()-5; i>d.getYear()-80; i--)
    {
        newElement = document.createElement("option");
        newElement.text = i;
        newElement.value = i;
        frmReg.namsinh.options.add(newElement);
    }

    for (i=1; i<=12; i++)
    {
        newElement = document.createElement("option");
        newElement.text = i;
        newElement.value = i;
        frmReg.thangsinh.options.add(newElement);
    }
  
    for (i=1; i<=31; i++)
    {
        newElement = document.createElement("option");
        newElement.text = i;
        newElement.value = i;
        frmReg.ngaysinh.options.add(newElement);
    }
}

function lamTuoi()
{
    var songay; //số ngày
    var thang;
    thang = frmReg.thangsinh.options[frmReg.thangsinh.selectedIndex].value;
    switch (thang)
    {
    case "2":
        songay=28;
        break;
    case "1":case "3":case "5":case "7":case "9":case "11":
        songay=31;
        break;
    case "4":case "6":case "8":case "10":case "12":
        songay=30;
        break;
    }
    var nam = frmReg.namsinh.options[frmReg.namsinh.selectedIndex].value;
    if (((nam%4==0 && nam%100!=0) || (nam%400==0)) && songay==28)
        songay=29;
    var i;
    for (i=29; i<=songay; i++)
    {
        var newElement;
        if ((frmReg.ngaysinh.options.length<songay) && frmReg.ngaysinh.options[frmReg.ngaysinh.options.length-1].value < i)
        {
            newElement = document.createElement("option");
            newElement.text = i;
            newElement.value = i;
            frmReg.ngaysinh.options.add(newElement);
        }
    }
    i--;
    for (;i<frmReg.ngaysinh.options[frmReg.ngaysinh.options.length-1].value;)
    {
        frmReg.ngaysinh.remove(i);
    }
}

function chuanHoa(chuoi)
{
    while (chuoi.indexOf("  ")!=-1)
    {
        chuoi = chuoi.replace("  "," ");
    }
    if (chuoi.charAt(0)==" ")
    {
        chuoi = chuoi.substr(1);
    }
    if (chuoi.charAt(chuoi.length-1)==" ")
        chuoi = chuoi.substr(0,chuoi.length-1);
    return chuoi;
}

</SCRIPT>

<SCRIPT LANGUAGE="JavaScript">

var d = document;

// ham chinh checkform
function FcheckForm(f){




if(!FcheckFilled('Tên truy cap',f.tentruycap.value)){ f.tentruycap.focus();return false; }
if(!FcheckRadio("Giới tính",f.phai)){ return false; }
if(!FcheckFilled('Mat khau',f.Password.value)){ f.Password.focus();return false; }
if(!FcheckMinLength('Mat khau',f.Password.value,6)){ f.Password.focus();return false; }
if(!FcheckMaxLength('Mat khau',f.Password.value,20)){ f.Password.focus();return false; }

if(!FcheckNotLike("Tên truy cập","Mat khau",f.tentruycap.value,f.Password.value)) { f.Password.focus(); return false; }
if(!FcheckLike("M?t khẩu","Xác nhan mat khau",f.Password.value,f.xacnhanmatkhau.value)) { f.xacnhanmatkhau.focus(); return false; }

if(!FcheckRadio('Giới tính',f.phai)){ return false; }

if(!FcheckEmail('Email',f.email.value)){ f.email.focus();return false; }

if(!FcheckFilled('Ðịa chỉ',f.diachi.value)){ f.diachi.focus();return false; }
if(!FcheckChars('Ðịa chỉ',f.diachi.value, 50)){ f.diachi.focus();return false; }

if(!Fconfirm()) {
     return false;
}else{
    alert("Đăng ký thành công");
}

return true;
}

// xac nhan gui
function Fconfirm(){
var agree=confirm("Thông tin hợp lệ. Bạn có muốn tiếp tục đăng ký không?");
if (agree)
    return true ;
else
    return false ;
}

// kiem tra dien chua
function FcheckFilled(n,v){
if(v==""){ alert(n+" bat buoc phai nhap!");return false; }
else { return true; }
}

// kiem tra so ki tu toi thieu
function FcheckMinLength(n,v,num){
if(v.length<num){ alert("So kí tu it nhat cua "+n+" là "+num+" kí tu!");return false; }
else { return true; }
}

// kiem tra so ki tu toi da
function FcheckMaxLength(n,v,num){
if(v.length>num){ alert("So kí tu nhieu nhat cua "+n+" là "+num+" kí tu!");return false; }
else { return true; }
}

// kiem tra la so hay khong
function FcheckNumber(n,v){
if((isNaN(v))||(v=="")){ alert(n+" phai là so!");return false; }
else { return true; }
}

// kiem tra so ki tu toi da va cho biet so ki tu bi lo
function FcheckChars(n,v,num){
if(v.length>num){ alert("So kí tu toi da cua "+n+" là "+num+" kí tu!\n"+(v.length-num)+" kí t? b? l?!");return false; }
else { return true; }
}

// kiem tra email hop le
function FcheckEmail(n,v){
var a=0
var p=0
for(var i=1;i<v.length;i++){
if(!v.charAt(i))return false
else if(v.charAt(i)=='@'){a++;if(v.charAt(i+1)==''){ alert(n+" không h?p l?!");return false; }}
else if(v.charAt(i)=='.'){p++;if(v.charAt(i+1)==''||v.charAt(i+1)=='@'||v.charAt(i-1)=='@'){ alert(n+" không hop le!");return false; }}
}
if(a==1&&p){ return true; }
else { alert(n+" không hợp lệ!");return false; }
}

// kiem tra radio button da duoc chon chua
function FcheckRadio(n,v){
var r = false;
var i;
for (i = 0;  i < v.length;  i++){
   if (v.checked)
       r = true;
 }
if (!r){ alert("Chọn giá trị cho "+n+"!");return (false); }
else { return true; }
}

// kiem tra dropdown da duoc chon gia tri chua
function FcheckDropOne(n,v){
if(v.selectedIndex<=0){ alert("Hãy chọn giá tri cho "+n+"!");return false; }
else { return true; }
}

// kiem tra dropdown co so lua chon trong khoang (mi,ma) hay khong
function FcheckDropMultiple(n,v,mi,ma){
var sel = 0;
 var i;
 for (i = 0;  i < v.length;  i++){ if (v.options.selected) sel++; }

if(mi>0){
if (sel < mi) { alert("Ít nhat là "+mi+" chon lua cho "+n+"!");return false; }
}
if(ma>0){
 if (sel > ma) { alert("Nhieu nhat là "+ma+" chon lua cho "+n+"!");return false; }
}
 return true;
}

// kiem tra checkbox co so box duoc check co nam trong khoang (mi,ma) hay khong
function FcheckBoxes(n,v,mi,ma){
 var sel = false;
var i;
 for (i = 0;  i < v.length;  i++){ if (v.checked) sel++; }

if(mi>0){
if (sel < mi) { alert("Ít nhat là "+mi+" chon lua cho "+n+"!");return false; }
}
if(ma>0){
 if (sel > ma) { alert("Nhieu nhat là "+ma+" chon lua cho "+n+"!");return false; }
}
 return true;
}

// kiem tra v1 va v2 co phai la khong giong hay khong
function FcheckNotLike(n1,n2,v1,v2){
if (v1==v2)
{ alert(n1 + " gi?ng " + n2 + "!"); return false; }
return true
}

// kiem tra v1 va v2 co phai la giong hay khong
function FcheckLike(n1,n2,v1,v2){
if (v1!=v2)
{ alert(n1 + " không giong " + n2 + "!"); return false; }
return true
}
</SCRIPT>
</HEAD>
<BODY onLoad="khoiTao();">
<FONT SIZE="+3"><B>Ðang ký thành viên:</B></FONT><BR />
<BR />
<form name="frmReg" onsubmit="return FcheckForm(this);"">
<TABLE BORDER="0">
<TR>
<TR>
<TD>Tên truy cap:</TD>
<TD>
<INPUT TYPE="text" NAME="tentruycap" />
</TD>
</TR>
<TD>Ho tên:</TD>
<TD>
<INPUT TYPE="text" NAME="hoten" />&nbsp;
</TD>
</TR>
<TR>
<TD>Gioi tinh:</TD>
<TD>
<INPUT TYPE="radio" NAME="phai" VALUE="nam" />&nbsp;Nam
<INPUT TYPE="radio" NAME="phai" VALUE="nu" />
&nbsp;Nu
</TD>
</TR>

<TR>
<TD>Mat khau:</TD>
<TD>
<INPUT TYPE="password" NAME="Password" />
</TD>
</TR>
<TR>
<TD>Xác nhan mat khau:</TD>
<TD>
<INPUT TYPE="password" NAME="xacnhanmatkhau" />
</TD>
</TR>
<TR>
<TD>Ngày/tháng/nam sinh:</TD>
<TD>
<SELECT NAME="ngaysinh" onChange="lamTuoi()"></SELECT> / <SELECT NAME="thangsinh" onChange="lamTuoi()"></SELECT> / <SELECT NAME="namsinh" onChange="lamTuoi()"></SELECT>
</TD>
</TR>
<TR>
<TD>Email:</TD>
<TD>
<INPUT TYPE="text" NAME="email" />
</TD>
</TR>
<TR>
<TD>Ðia chi:</TD>
<TD>
<INPUT TYPE="text" NAME="diachi" />
</TD>
</TR>
<TR>
<TD COLSPAN="2">
<INPUT TYPE="submit" VALUE="Ðang ký" />&nbsp;
<INPUT TYPE="reset" VALUE="Nhap lai" />

</TD>
</TR>

</TABLE>


Cảm ơn bạn Mạnh Tuấn
Các bài viết khác
Trả lời RSS
Manh tuan   |123.24.156.xxx |28-05-2009 02:02:06
Anh co the dua vo doan code toi uu hon cho moi nguoi tham khao duoc khong thank
Trần Phượng   |123.27.227.xxx |28-05-2009 05:54:24
Theo mình thì code này khá hoàn hảo cho mục đích của bài rồi. Bạn nào muốn cao cấp hơn thì chắc phải tự nâng cấp thôi.
Hà Thanh Bình  - kiểm tra lại đoạn code mẩu dùm   |58.186.245.xxx |01-08-2009 22:01:12
hình như code sài,copy về chạy thử, thì cứ báo lổi sai ,khúc chọn giới tính,yêu cầu kiểm tra lại dùm
hoang mai  - re: kiểm tra lại đoạn code mẩu dùm   |123.27.229.xxx |04-08-2009 15:29:49
Hà Thanh Bình wrote:
hình như code sài,copy về chạy thử, thì cứ báo lổi sai ,khúc chọn giới tính,yêu cầu kiểm tra lại dùm
À. Chức năng check giới tính hình như chỉ chạy đc trên IE6 thì phải. Ngày xưa mình cũng làm kiểu này và chạy. Cách giải quyết tốt nhất là bạn nên checked trước 1 radio trước. Như vậy, sẽ không cần mất công check =
javascript nữa.
trieu   |123.19.106.xxx |10-11-2009 04:25:39
// kiem tra radio button da duoc chon chua
function FcheckRadio(n,v){
var r = true;
var i;
for (i = 0; i < v.length; i++){
if (v.checked)
r = true;
}
if (!r){ alert("Chọn giá trị cho "+n+"!";return (false); }
else { return true; }
}


//ban sua
lai nhu vay la chay đuoc thoi.
Tuấn  - Thanks!   |183.80.60.xxx |16-08-2010 16:16:22
Bài bạn viết khá hay, tuy nhiên nếu 1 người mà mới học Javascript đọc xong hiểu đc chắc cũng bị khùng luôn. Có một số khai báo như n,v,r bạn có gắng giải thích cho người mới học hiểu. Dù sao thì mình cũng hiểu được
95%. Thanks bạn nhiêu!
Bài viết của bạn
Name:
Email:
 
Website:
Title:
UBBCode:
<strong> <em> <span style="text-decoration:underline;"> <a target=' /> [quote] [code] <img /> 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss:
:D:pinch::(:shock::X:side::):P:unsure::woohoo:
:huh::whistle:;):s:!::?::idea::arrow:
Vui lòng nhập vào mã số an toàn.
http://hotrolaptrinh.com

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
Copyright © 2009 Cộng đồng Hỗ Trợ Lập Trình.

Administrator: Đỗ Ngọc Hải & Phan Văn Vương

Validated by HTML Validator (based on Tidy)
Điều khoản sử dụng       Khước từ trách nhiệm