常用的表單驗證

在js中字符串使用unicode來表示的,並且js使用的是UTF-16(UTF-16是Unicode字符編碼五層次模型的第三層)。
這樣來說大部分字符都是16bit編碼。
但是也有較少的部分是32bit,這是由於完整的unicode字符集是需要21bit來標識的。

1、匹配雙字節字符:[^\x00-\xff]

正則表達式 [^\x00-\xff]能匹配雙字節字符,下面方法用來獲取字符串長度,規則爲:單字節長度爲1、漢字等雙字節長度爲2;

   function getLength(str){
       return str.replace(/[^\x00-\xff]/g, 'aa').length;//把所有非單字節的字符轉換成2個單字符
        }



二、匹配郵箱

[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

判斷一個字符串str是否是郵箱格式

function isEmail(str){
   var reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;
    if (! reg.test(str)){
    alert("輸入的不是郵箱");
  } else {
     alert("輸入的是郵箱格式");
  }



三、匹配11位手機號碼

模式爲: reg = /\d{11}/;

  function isPhoneNunmber(str){
 var reg = /\d{11}/;
     if ((str.length != 11) ||  (! reg.test(str))){
        alert("輸入的不是11位號碼");
     } else {
       alert("輸入的是11位號碼");
     }
}
發佈了63 篇原創文章 · 獲贊 36 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章