1. 程式人生 > >asp.net使用者註冊的與密碼強度相關的問題。

asp.net使用者註冊的與密碼強度相關的問題。

課堂上老師老師講解的東西,看懂是一回事,弄明白是一回事,會運用還是一回事,反覆解讀是學習所不可缺的。

1.近期學習了使用者註冊時密碼強度問題做次記錄以便後續使用。
<script type="text/javascript" language="javascript">
        //總:JS判斷密碼強度

        //判斷輸入密碼的型別 測試某個字元是屬於哪一類. 
        function CharMode(iN) {
            if (iN >= 48 && iN <= 57) //數字  
                return 1;
            if (iN >= 65 && iN <= 90) //大寫  
                return 2;
            if (iN >= 97 && iN <= 122) //小寫  
                return 4;
            else
                return 8;
        }
        //bitTotal函式  
        //計算出當前密碼當中一共有多少種模式 與運算
        function bitTotal(num) {
            modes = 0;
            for (i = 0; i < 4; i++) {
                if (num & 1) modes++;
                num >>>= 1;
            }
            return modes;
        }
        //返回強度級別  
        function checkStrong(sPW) {
            if (sPW.length < 5)
                return 0; //密碼太短,不檢測級別
            Modes = 0;
            for (i = 0; i < sPW.length; i++) {
                //密碼模式  測試每一個字元的類別並統計一共有多少種模式. 與或運算.
                Modes |= CharMode(sPW.charCodeAt(i));
            }
            return bitTotal(Modes);
        }
        //1.如果密碼少於5位,那麼就認為這是一個弱密碼;
        //2.如果密碼只由數字、小寫字母、大寫字母或其它特殊符號當中的一種組成,則認為這是一個弱密碼.
        //3.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的兩種組成,則認為這是一箇中度安全的密碼.
        //4.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的三種以上組成,則認為這是一個比較安全的密碼.

        //顯示顏色-當用戶放開鍵盤或密碼輸入框失去焦點時,根據不同的級別顯示不同的顏色 
        function pwStrength(pwd) {
            Dfault_color = "#eeeeee";		//預設顏色
            L_color = "#FF0000";		//低強度的顏色,且只顯示在最左邊的單元格中
            M_color = "#FF9900";		//中等強度的顏色,且只顯示在左邊兩個單元格中
            H_color = "#33CC00";		//高強度的顏色,三個單元格都顯示
            if (pwd == null || pwd == '') {
                Lcolor = Mcolor = Hcolor = Dfault_color;
            }
            else {
                S_level = checkStrong(pwd);
                switch (S_level) {
                    case 0:
                        Lcolor = Mcolor = Hcolor = Dfault_color;
                        break;
                    case 1:
                        Lcolor = L_color;
                        Mcolor = Hcolor = Dfault_color;
                        break;
                    case 2:
                        Lcolor = Mcolor = M_color;
                        Hcolor = Dfault_color;
                        break;
                    default:
                        Lcolor = Mcolor = Hcolor = H_color;
                }
            }
            document.getElementById("strength_L").style.background = Lcolor;
            document.getElementById("strength_M").style.background = Mcolor;
            document.getElementById("strength_H").style.background = Hcolor;
            return;
        }
        //document.getElementById  :根據指定的 id 屬性值得到物件。
        //document.getElementById(" ") 得到的是一個物件,
        //用 alert 顯示得到的是“ object ”,而不是具體的值,它有 value 和 length 等屬性,加上 .value 得到的才是具體的值!

    </script>
在前臺的控制元件中:
<asp:TextBox ID="txtPass" runat="server" onFocus="tPass();" 
    TextMode="Password" Width="115px" onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)" ></asp:TextBox><span class="marginleft">*</span></td>
      <td style="width:230px;" align="left">
       <table id="tab" border="0"align="left" cellpadding="0" cellspacing="2" bordercolor="#eeeeee" width="90%">
           <tr align="center" >
		<td width="40%">密碼強度:</td>
		<td width="20%" id="strength_L" >弱</td>  
		<td width="20%" id="strength_M" >中</td>  
		<td width="20%" id="strength_H" >強</td>  
	    </tr>
等;網上還有另略有不同的樣式,需要可查

2.js指令碼驗證手機號郵箱等問題

<script type="text/javascript">
        function PassIsSame() {
            var pwd1 = document.getElementById("<%= txtPass.ClientID %>").value;
            var pwd2 = document.getElementById("<%= txtQpass.ClientID %>").value;		//<!-- 對比兩次輸入的密碼 -->
            if (pwd1 == pwd2) {
                document.getElementById("PassTishi").innerHTML = "";
            }
            else {
                document.getElementById("PassTishi").innerHTML = "<font color='red'>兩次密碼不相同</font>";
            }
            return;
        }

        //驗證手機號碼 
        function checkPhone() {  
            var phone = document.getElementById("<%= txtPhone
.ClientID %>").value; if (!(/^1[34578]\d{9}$/.test(phone))) { document.getElementById("tPhoneTishi").innerHTML = "<font color='red'>手機號碼驗證出錯!</font>"; return false; } else { document.getElementById("tPhoneTishi").innerHTML = ""; return true; } } //驗證郵箱格式 function checktxtEmail() { var email
= document.getElementById("<%= txtEmail.ClientID %>").value; if (!(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(email))) { document.getElementById("txtEmailTishi").innerHTML = "<font color='red'>郵箱格式驗證出錯!</font>"; return false; } else { document.getElementById("txtEmailTishi").innerHTML = ""; return true; } } </script>
3.在滑鼠放在textbox文字框中所出現的對應的提示:
<script type="text/javascript">
	//顯示會員名輸入提示
function tName()
{
	       document.getElementById("sp").innerHTML="只能輸入數字、字母下劃線,<br>例如:mr_2008";	       
	    }
	  //顯示密碼輸入提示  
	 function tPass()
	    {
	         document.getElementById("sp").innerHTML="為了提供密碼的安全性。<br>建議密碼在6位以上。";
	 }
	 //顯示密碼輸入提示  
	 function tQPass() {
	     document.getElementById("sp").innerHTML = "再次輸入密碼。<br>建議密碼在6位以上。";
	 }
	   
	  //顯示電話碼輸入提示
	 function tPhone()
	 {
	        document.getElementById("sp").innerHTML="輸入手機號,以方便聯絡您<br>手機號應為11位";
	 }
	 //顯示電子郵件輸入提示
	function tEmail()
	{
	        document.getElementById("sp").innerHTML="請輸入正確的電子郵件。<br>例如:[email protected]";
	}
	//顯示所在城市輸入提示
	function tCity()
	{
	    document.getElementById("sp").innerHTML="輸入所在城市。<br>例如:長春市";
	}
	//顯示找回密碼問題提示
	function tQuestion() {
	    document.getElementById("sp").innerHTML = "輸入找回密碼問題。<br>例如:我的小學名稱";
	}
        //顯示找回密碼問題答案提示
	function tQuestionAnswer() {
	    document.getElementById("sp").innerHTML = "輸入找回密碼問題答案。<br>例如:中所屯小學";
	}
    </script>
//標識。
   <span id="sp" style="font-size: 14px; color: BlueViolet;"></span>
//
在 前臺textbox控制元件下:時間原因此處不再細數 較簡單。
<span >確認密碼:</span>
<asp:TextBox ID="txtQpass" runat="server" TextMode="Password" Width="115px" onFocus="tQPass();" onKeyUp="PassIsSame();"></asp:TextBox><span class="marginleft">*</span>
<div style="width: 100%;"><span id="PassTishi" style="font-size: 12px; color: red;"></span></div>
<span >電  話:</span>
<asp:TextBox onFocus="tPhone();" ID="txtPhone" runat="server" Width="115px" onKeyUp="checkPhone();"></asp:TextBox>
<div style="width: 100%;"><span id="tPhoneTishi" style="font-size: 12px; color: red;"></span></div>      
<span >E-mail:</span>
<asp:TextBox ID="txtEmail" onFocus="tEmail();" runat="server" Width="115px" onKeyUp="checktxtEmail();"></asp:TextBox>             
<div style="width: 100%;"><span id="txtEmailTishi" style="font-size: 12px; color: red;"></span></div>
<span >所在城市:</span>
<span >找回密碼時的問題:</span>
<asp:TextBox ID="txt_Question" onFocus="tQuestion();" runat="server" Width="235px"></asp:TextBox>
<td style=" text-align: right;">
<span >問題答案:</span>
<td style="text-align: left" colspan="2">
<asp:TextBox ID="txt_Answer" onFocus="tQuestionAnswer();" runat="server" Width="235px"></asp:TextBox></td>

相關推薦

asp.net使用者註冊密碼強度相關的問題

課堂上老師老師講解的東西,看懂是一回事,弄明白是一回事,會運用還是一回事,反覆解讀是學習所不可缺的。 1.近期學習了使用者註冊時密碼強度問題做次記錄以便後續使用。 <script type="text/javascript" language="javascript

asp.net使用者註冊密碼強度及驗證的相關問題對上一次詳細敘述

1.近期學習的使用者註冊是密碼強度問題。 <script type="text/javascript" language="javascript"> //總:JS判斷密碼強度 //判斷輸入密碼的型別 測試某個字元是屬於哪一類.

asp.net mvc 註冊中的郵箱激活功能實現

名稱 work 點擊 rom urn 內容 string 電子郵件 amp 基本流程圖 註冊頁面就不再寫出,現在將發送郵件的代碼粘貼出來 public ActionResult SendEmial() { int

ASP.NET文本框密碼賦默認值的方法

word 默認 tex 默認值 輸入框 文本框 方法 serve attr 對於普通的文本輸入框,可以使用下邊的方法賦默認值: <asp:TextBox ID="TextBox1" runat="server">12345</asp:TextBox>

ASP.NET -- WebForm -- .aspx.aspx.cs檔案

ASP.NET -- WebForm --  .aspx與.aspx.cs檔案 1. ASP.NET -- WebForm(C#)檔案 .aspx檔案:是Html頁面,頁面的佈局,樣式在該檔案中設計。 .aspx.cs檔案:後臺程式碼 .aspx.designer.cs檔案:由工具自動生成的

【菜鳥學習ASP.net】xmlhtml的區別

前言: 剛剛接觸了html現在又來了個xml,一開始有點迷糊,後來發現通過實踐對比學習,二者之間的區別越來越清晰明瞭了,接下來和我一起來搞懂它吧! 1、什麼是HTML 超文字標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用於建立網頁

ASP.NET Core管道中介軟體

ASP.NET Core管道和ASP.NET的事件驅動的管道有很大的不同,現在你可以在Startup檔案的Configure方法中呼叫Use,UseWhen,Map,MapWhen,Run方法來為特定的請求增加特定的處理邏輯。可以實現防盜鏈,日誌,許可權認證,事務處理等。

ASP.NET HTML (UrlEncode, UrlDecode, HtmlEncode, HtmlDecode)相關編碼方法 « 關於網路那些事...

ASP.NET HTML相關編碼方法 ASP.NET 針對HTML相關的編碼,可以分成網址編碼、網頁內容編碼兩部分 這裡分別記錄這些常見的編碼方式,提供參考 [

ASP.NET Core 認證授權[5]:初識授權

經過前面幾章的姍姍學步,我們瞭解了在 ASP.NET Core 中是如何認證的,終於來到了授權階段。在認證階段我們通過使用者令牌獲取到使用者的Claims,而授權便是對這些的Claims的驗證,如:是否擁有Admin的角色,姓名是否叫XXX等等。本章就來介紹一下 ASP.NET Core 的授權系統的簡單使

ASP.NET獲取客戶端IP地址相關方法

 因為要在專案中取到客戶端IP,在網上搜了下相關資料,找到一些方法,因為資料很多,經過比較對比後總結出來的,在下面列舉出來,方便以後查閱之用: 通常我們都通過下面的程式碼獲得IP: ①string ip =System.Web.HttpContext.Current.

asp.net判斷使用者是否登入(SetAuthCookie相關問題)

如果使用者登入後,你使用這個方法把使用者寫入cookie,則會自動建立身份驗證票。FormsAuthentication.SetAuthCookie(tbUserName.Text, true); 如何判斷使用者是否已登入呢? 方法一----------------------- if (Contex

Theme、StylesheetTheme設定ASP.NET的樣式主題

1.動態網站與靜態網站 ASP.NET建立的動態網站,與靜態網站相比,簡單地說,就是在靜態網站的基礎上增加了由在伺服器端執行的程式碼動態生成的內容,這個在伺服器端執行的程式碼包括內碼表中的後臺程式碼,也包括前臺頁面中的控制元件。 靜態網頁的樣式,同樣適應於動態網頁的靜態內容

ASP.NET 管道事件HttpModule, HttpHandler簡單理解

ASP.NET管道 以IIS 6.0為例,在工作程序w3wp.exe中,利用Aspnet_ispai.dll載入.NET執行時(如果.NET執行時尚未載入)。IIS 6引入了應用程式池的概念,一個工作程序對應著一個應用程式池。一個應用程式池可以承載一個或者多個Web

ASP.NET Core 認證授權[3]:OAuth & OpenID Connect認證

原文: ASP.NET Core 認證與授權[3]:OAuth & OpenID Connect認證 在上一章中,我們瞭解到,Cookie認證是一種本地認證方式,通常認證與授權都在同一個服務中,也可以使用Cookie共享的方式分開部署,但侷限性較大,而如今隨著微服務的流行,更加偏向於將以前的單體應用

ASP.NET資料驗證頁面統一佈局

常見表單驗證概述 資料有效性驗證方式 非空驗證控制元件 驗證控制元件的拖放與基本屬性設定 比較驗證控制元件 控制元件拖放與基本

ASP.NET Web APIOwin OAuth:使用Access Toke呼叫受保護的API(二)

在前一篇博文中,我們使用OAuth的Client Credential Grant授權方式,在服務端通過CNBlogsAuthorizationServerProvider(Authorization Server的一個實現)成功發放了Access Token,並在客戶

ASP.net解決CSSJS的快取問題

前言 筆者前幾個月沒怎麼寫部落格,現在實習工作也4周了,開始規定自己每週寫一篇,主要目的是為了總結一下工作中遇到的問題與解決方法以及涉及到的知識,並與大家分享;順便的鍛鍊下自己的語言表達能力,這個在工作中真是太重要的,很多時候只要可以把問題清楚的描述出來,就等

ASP.NET Core 認證授權[1]:初識認證

在ASP.NET 4.X 中,我們最常用的是Forms認證,它既可以用於區域網環境,也可用於網際網路環境,有著非常廣泛的使用。但是它很難進行擴充套件,更無法與第三方認證整合,因此,在 ASP.NET Core 中對認證與授權進行了全新的設計,並使用基於宣告的認證(claims-based authentica

ASP.NET Core 認證授權[4]:JwtBearer認證

在現代Web應用程式中,通常會使用Web, WebApp, NativeApp等多種呈現方式,而後端也由以前的Razor渲染HTML,轉變為Stateless的RESTFulAPI,因此,我們需要一種標準的,通用的,無狀態的,與語言無關的認證方式,也就是本文要介紹的JwtBearer認證。 目錄 Beare

ASP.NET Core 中文文件 第二章 指南(4.1)ASP.NET Core MVC Visual Studio 入門

這篇教程將告訴你如何使用 Visual Studio 2015 構建一個 ASP.NET Core MVC Web 應用程式的基礎知識。 安裝 Visual Studio 和 .NET Core 安裝 Visual Studio Community 2015。選擇 Community 下載並執行預設安裝