JavaScriptのパスワードメールアドレスの電話フォーマットの検証

18249 ワード

菜鳥教程から改造した認証パスワード、メールボックス、電話番号、ユーザ名などのフォーマットの一つです.jspのコードを添付します.
"java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>js    title>
<script type="text/javascript">

script>
head>
<body>
    <form name="myform" action="" onsubmit="return fun1()">
        <div align="center">
            <table border="1" width="60%">
                <tr>
                    <td colspan=2 align=center>
                        <h3>    h3>
                    td>
                tr>
                <tr>
                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="text" maxlength=10
                            id="sno">(8   )font>td>

                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="text" maxlength=10
                            id="username">(  )font>td>
                tr>
                <tr>
                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="password" maxlength=20   
                            id="pass">(  ||  ||     )font>td>

                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="password" maxlength=20
                            id="pass2">(       )font>td>
                tr>
                <tr>
                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="text" maxlength=20
                            id="email">font>td>

                    <td height="39" width="463" bgcolor="#006699"><font
                        color="#FFFF00"><input type="text" maxlength=11
                            id="tel">font>td>
                tr>
                <tr>
                    <td height="53" width="985" bgcolor="#006699" colspan="2"
                        align=center><input type="submit" value="  ">
                    td>
                tr>
            table>
        div>
    form>

    <script type="text/javascript" src="js/myScript.js">script>
body>
html>
上記のjsファイルはWebcontentの下に置いて、jsのフォルダjsコードを作りました.
/*      */
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
   return  objRegExp.test(strValue);  
}  

/*           */
function ischina(str) {
    var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*       */
    return reg.test(str);     /*    */
}

/*      8      */
function isStudentNo(str) {
    var reg=/^[0-9]{8}$/;   /*       */
    return reg.test(str);     /*    */
}

/*        */
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
    return reg.test(str);
}

/*           */
function IsEmail(str) {
    var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    return reg.test(str);
}
/*         ,      ,8-20 */
function isPassword(str){
    var reg =/^[A-Za-z0-9]{8,20}$/;
    return reg.test(str);
}
/*        ,   8 ,                   */
function isPassword2(pass){
    var str = pass;
    if(str==null || str.length<8){
            return false;
    }
     var reg1 = new RegExp(/^[0-9A-Za-z]+$/);
    if (!reg1.test(str)) {
        return false;
    }
    var reg = new RegExp(/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/);
    if (reg.test(str)) {
        return true;
    } else {
        return false;
    }
}


function  fun1(){
    if(!isStudentNo(document.getElementById("sno").value)){
        alert("     8   ");
        document.getElementById("sno").focus();
        return false;
    }
    if(!ischina(document.getElementById("username").value)){
        alert("          ");
        document.getElementById("username").focus();
        return false;  
    }
    if (!isPassword(document.getElementById("pass").value)) {
        alert("            ,      ,8-20 ");
        document.getElementById("pass").focus();
        return false;
    }
    if (!isPassword2(document.getElementById("pass2").value)) {
        alert("         ,       8-20 ");
        document.getElementById("pass").focus();
        return false;
    }
    if(!IsEmail(document.getElementById("email").value)){
        alert("       ");
        document.getElementById("email").focus();
        return false;  
    }

    if(!isTelCode(document.getElementById("tel").value)){
        alert("      ");
        document.getElementById("tel").focus();
        return false;  
    }

    /*             true    submit           */
    alert("    ")
    return true;
}