表單校驗及正則表達式


表單驗證的作用:

     減輕服務器的壓力

     保證輸入的數據符合要求

常用的表單驗證

    日期格式

    表單元素是否為空

    用戶名和密碼

    email地址

    身份證號碼

表單選擇器用於選取某些特定的表單元素

   常用的表單選擇器

         input:text匹配所有單行文本框/password匹配所有密碼框/radio:匹配所有單項按鈕/

                   checkbox:匹配所有復選框/submit:匹配所有提交按鈕/imag:匹配所有圖像域/

                   reset匹配所有重置按鈕/button匹配所有按鈕/file匹配所有文本域

                   hidden:匹配所有不可見元素

  屬性過濾選擇器

         enabled:匹配所有可用元素/disabled:匹配所有不可見元素/checked:匹配所有被選中元素

        selected:匹配所有選中的option元素

        非空驗證

           示例:if (mail == "") {

                           alert("Email不能為空");

                           return false;

                      }

  字符串查找        indexOf():查找某個指定的字符串值在字符串中首次出現的位置

        示例:var str="this is JavaScript";

                  var selectFirst=str.indexOf("Java");   --返回8

                  var selectSecond=str.indexOf("Java",12);   --返回-1

  長度驗證

   示例:    

           if(pwd.length<6){

             alert("密碼必須等於或大於6個字符");

             return false;

         }

 判斷字符串是否有數字

      使用for循環和substring()方法依次截取單個字符在判斷每個字符是否是數字

      示例:

           for (var i = 0; i < user.length; i++) {

              var j = user.substring(i, i + 1);

            if (isNaN(j) == false) {

               alert("姓名中不能包含數字");

             return false;

             }

          }

  表單驗證事件和方法

   表單驗證需要綜合運用元素的事件和方法

       

類別

名稱

描述

事件

onblur

失去焦點,當光標離開某個文本框時觸發

onfocus

獲得焦點,當光標進入某個文本框時觸發

方法

blur()

從文本域中移開焦點

focus()

在文本域中設置焦點,即獲得鼠標光標

select()

選取文本域中的內容,突出顯示輸入區域的內容

 

  正則表達式的作用:

   簡潔的代碼

   嚴謹的驗證文本框中的內容

   生產環境中更為常用的方式
  示例:驗證郵箱
           var reg= /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;

             if(reg.test(email) ==false){ 

                 $email_prompt.html("電子郵件格式不正確,請重新輸入");

            return false;

          }

    普通方式

         語法:var reg=/表達式/附加參數;

         示例:var reg=/white/;

                    var reg=/white/g;

    構造函數

         語法:var reg=new RegExp("表達式","附加參數");

         示例:

               var reg=new RegExp("white");

               var reg=new RegExp("white","g");

    簡單模式      --只能表示具體的匹配

        示例:

           var reg=/china/;

           var reg=/abc8/;

   復合模式       --可以使用通配符表達更為抽象的規則模式

       示例:

           var reg=/^\w+$/;

           var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;

RegExp對象

  屬性

 

global

RegExp對象是否具有標志g,表示全局匹配

ignoreCase

RegExp對象是否具有標志i,表示不區分大小寫

multiline

RegExp對象是否具有標志m,表示多行匹配

   方法

方法

描述

exec( )

檢索字符中是正則表達式的區配,返回找到的值,並確定其位置

test( )

檢索字符串中指定的值,返回true或false

  String對象方法

方法

描述

exec( )

檢索字符中是正則表達式的區配,返回找到的值,並確定其位置

test( )

檢索字符串中指定的值,返回true或false

     正則表達式符號

   

符號

描述

/…/

代表一個模式的開始和結束

^

匹配字符串的開始

$

匹配字符串的結束

\s

任何空白字符

\S

任何非空白字符

\d

匹配一個數字字符,等價於[0-9]

\D

除了數字之外的任何字符,等價於[^0-9]

\w

匹配一個數字、下划線或字母字符,等價於[A-Za-z0-9_]

\W

任何非單字字符,等價於[^a-zA-z0-9_]

.

除了換行符之外的任意字符

符號

描述

{n}

匹配前一項n次

{n,}

匹配前一項n次,或者多次

{n,m}

匹配前一項至少n次,但是不能超過m次

*

匹配前一項0次或多次,等價於{0,}

+

匹配前一項1次或多次,等價於{1,}

匹配前一項0次或1次,也就是說前一項是可選的,等價於{0,1}


免責聲明!

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



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