js 正則表達式校驗必須包含字母、數字、特殊字符


1.情景展示

  在注冊時,密碼要求必須同時包含:字母、數字、特殊字符,如何實現?

2.原因分析

  用正則表達式進行校驗,是最方便的! 

3.解決方案

// 密碼必須由 8-64位字母、數字、特殊符號組成
var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/;
                    
if (reg.test(password)) {// 驗證通過
    
}

4.實際應用

  HTML片段

<table class="table_add" border="0" width="100%">
<tr>
    <td align="right" class="FormItemText" width="30%">
        密碼:
    </td>
    <td class="FormItemControl" width="70%">
        <input type="hidden" name="USERID" value="${param.USERID}">
        <input type="password" class="TextBox" id="viewAdd_userPassword"
            name="USERPASSWORD"
            title="密碼長度為8-64個字符,必須包括數字、字母、特殊字符"/>
    </td>
</tr>
<tr>
    <td align="right" class="FormItemText">
        確認密碼:
    </td>
    <td class="FormItemControl">
        <input type="password" class="TextBox" id="viewAdd_userConPassword""/>
    </td>
</tr>
</table> 

  JAVASCRIPT片段

/**
 * form表單提交前,密碼校驗
 */
function validatePassword() {
    var password = $get('viewAdd_userPassword').value;
    // 去掉空格
    password = password.replace(/\s/g,"");

    if ("" != password) {
        // 密碼必須由 8-64位字母、數字、特殊符號組成
        var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/;
        
        if (reg.test(password)) {// 驗證通過
            // form表單提交前,去除空格
            $get('viewAdd_userPassword').value = password;
            var password2 = $get('viewAdd_userConPassword').value;
            if (password2 != password) {// 密碼不一致
                Dialog.Alert("消息提示", "兩次輸入的密碼不一致,請重新輸入!", function (result) {
                    $get("viewAdd_userPassword").focus();
                }, null, 50);
                
                return false;
            }
            
            return true;
        } else {
            Dialog.Alert("消息提示", "密碼長度為8-64個字符,必須包括數字、字母、特殊字符!", function (result) {
                $get("viewAdd_userPassword").focus();
            }, null, 50);
        }
        
        return false;
    } else {
        Dialog.Alert("消息提示", "請輸入新密碼!", function (result) {
            $get("viewAdd_userPassword").focus();
        }, null, 50);
    }
    
    return false;
}

  驗證座機號

var regex = /^(0\d{2}-\d{8})|(0\d{3}-\d{7})$/;

  驗證郵箱

var regex = /^([a-z0-9A-Z]+[-|_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$/;

  

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM