js正則

1JS正則表達式 代碼 
"^//d+$"  //非負整數(正整數 + 0)     
"^[0-9]*[1-9][0-9]*$"  //正整數     
"^((-//d+)|(0+))$"  //非正整數(負整數 + 0)     
"^-[0-9]*[1-9][0-9]*$"  //負整數     
"^-?//d+$"    //整數     
"^//d+(//.//d+)?$"  //非負浮點數(正浮點數 + 0)     
"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$"      
//正浮點數     
"^((-//d+(//.//d+)?)|(0+(//.0+)?))$"  //非正浮點數(負浮點數 + 0)     
"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$"      
//負浮點數     
"^(-?//d+)(//.//d+)?$"  //浮點數     
"^[A-Za-z]+$"  //由26個英文字母組成的字符串     
"^[A-Z]+$"  //由26個英文字母的大寫組成的字符串     
"^[a-z]+$"  //由26個英文字母的小寫組成的字符串     
"^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串     
"^//w+$"  //由數字、26個英文字母或者下劃線組成的字符串     
"^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$"    //email地址     
"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$"  //url     
"^[A-Za-z0-9_]*$" 
=================================================== 
<script language="javascript">
function check(){
//var pattern1=/^[1-9]/d{7}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{3}$/;//15位的身份證
//var pattern2=/^[1-9]/d{5}[1-9]/d{3}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{4}$/;//18位的身份證
var pattern=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;//匹配E-MALI地址
//var pattern=/^http:////([/w-]+/.)+[/w-]+(//[/w-      .//?%&=]*)?/;//匹配網址
//var pattern=/http(s)?:////([/w-]+/.)+[/w-]+(//[/w- .//?%&=]*)?/;//匹配網址
//var pattern=/^[/u4e00-/u9fa5]$/;//匹配中文字符(單個漢字)
//var pattern=/^[1-9]/d{5}(?!/d)$/;//匹配郵政編碼
//var pattern=/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;//匹配日期 如:1900-01-01
//var pattern=/^[^/x00-/xff]$/;//匹配雙字節字符(包括漢字在內的單個字符)
//var pattern=/^<(.*)>.*<///1>|<(.*) //>$/;//匹配HTML標記
//var pattern=/<(/S*?)[^>]*>.*?<///1>|<.*? //>/;//匹配HTML標記
//var pattern=/^/n[/s| ]*/r$/;//可以用來刪除空白行
//var pattern=/^(/s*)|(/s*)$///可以用來刪除行首尾的空白字符(包括空格、製表符、換頁符等等)
//var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母開頭,限制5-16字節,允許字母數字下劃線
//var pattern=/^/d{3}-/d{8}|/d{4}-/d{7,8}$/;//匹配國內電話 如:0739-8888888(8) 或 020-88888888
//var pattern=/^[1-9][0-9]{4,}$/;//匹配QQ號碼 騰訊QQ號從10000開始
//var pattern=/^/d+/./d+/./d+/./d+$/;//匹配IP地址
/*******************匹配特定數字*********************/
//var pattern=/^(/w)/1{4,}*$/;//匹配整數
//var pattern=/-?[1-9]/d*$/;//匹配整數
//var pattern=/^[1-9]/d*$/;//匹配正整數
//var pattern=/^-[1-9]/d*$/;//匹配負整數
//var pattern=/^[1-9]/d*|0$/;//匹配非負整數
//var pattern=/^-[1-9]/d*|0$/;//匹配非正整數
//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*$/;//匹配正浮點數
//var pattern=/^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$/;//匹配負浮點數
//var pattern=/^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$/;//匹配浮點數
//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$/;//匹配非負浮點數
//var pattern=/^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$/;//匹配非正浮點數
/********************匹配特定字符串*****************/
//var pattern=/^[A-Za-z]+$/;//匹配由26個英文字母組成的字符串
//var pattern=/^[A-Z]+$/;//匹配由26個英文字母的大寫組成的字符串
//var pattern=/^[a-z]+$/;//匹配由26個英文字母的小寫組成的字符串
//var pattern=/^[A-Za-z0-9]+$/;//匹配由數字和26個英文字母組成的字符串
//var pattern=/^/w+$/;//匹配由數字、26個英文字母或者下劃線組成的字符串
//if(!(pattern1.test(document.form1.text.value)||pattern2.test(document.form1.text.value)))
if(!pattern.test(document.getElementById("content").value)){
alert("請輸入正確的格式!");
return false;
}
}
</script>
<%
'限制只能輸入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
'限制只能輸入全角字符:onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
'限制只能輸入數字:onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
'限制只能輸入數字和英文:onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 
%>

===================================================
/* 
*前臺JS表單腳本(輸入&驗證)庫 

*注:請使用本JS表單腳本(輸入&驗證)庫的同時保留此版權信息,此是作者花了時間去收集整理以及編寫的,謝謝! 
*  此版本採用GB2312編碼格式,請在使用前進行字符編碼轉換,以保證能夠正常使用 
*/ 
/* 
*以下是庫函數目錄及使用說明: 

*常用 
*1、Trim=去除字符串前後空格         
使用方法:String.trim() 
*2、ctrim=去除字符串中間空格         
使用方法:String.ctrim() 
*3、onClickSelect=點中text框的時候,選中其中的文字     
使用方法:在input位置加上 onClick/onFocus="onClickSelect();" 即可 


*動態輸入類             
使用方法:在input位置加上 即可 
*1、TextOnly=只允許輸入字母、數字、下劃線 
*2、TextNumOnly=只允許輸入字母、數字 
*3、NumOnly=只允許輸入數字 
*4、TelOnly=只能輸入電話、"-"、"("、")" 

*表單驗證類 
*1、isAccount=是否帳號(由字母、數字、下劃線組成){有兩種選擇,一種有長度限制} 
*2、isChinese=是否中文(由中文、數字、字母組成) 
*3、ismail=是否Email 
*4、isip=是否ip 
*5、PhoneCheck=電話號碼檢測(電話和手機) 
*6、isMobile=手機號碼檢測 
*7、isDate=是否短日期 
*8、isTime=是否時間 
*9、isDateTime=是否長日期 

*其它函數 
*1、changeFrame=改變Frame大小 
*2、CheckAll=全選/全不選 
*3、onKeyDownDefault=回車->轉->Tab 
*4、admin_Size=改變TextArea輸入框高度 

*其它驗證正則表達式 
*Email : /^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/ 
*Phone : /^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$/ 
*Url : /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/ 
*Currency : /^/d+(/./d+)?$/ 
*Number : /^/d+$/ 
*Zip : /^[1-9]/d{5}$/ 
*QQ : /^[1-9]/d{4,8}$/ 
*Integer : /^[-/+]?/d+$/ 
*Double : /^[-/+]?/d+(/./d+)?$/ 
*English : /^[A-Za-z]+$/ 
*Chinese :  /^[/u0391-/uFFE5]+$/ 
*UnSafe : /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////'/"]*)|.{0,5})$|/s/ 
*Username : /^[a-z]/w{3,}$/i(用戶名驗證,帶長度限制) 
*/ 

//========================================================================常用函數 
//--------------------------------除去前後空格 
String.prototype.trim = function() 

    //用正則表達式將前後空格用空字符串替代。 
    return this.replace(/(^/s*)|(/s*$)/g, ""); 

//--------------------------------除去中間空格 
String.prototype.ctrim = function() 

    //用正則表達式將中間空格用空字符串替代。 
return this.replace(//s/g,''); 

//--------------------------------點中text框的時候,選中其中的文字 
/** 
*方法名:onClickSelect 
*描述:點中text框的時候,選中其中的文字 
*輸入:空 
*輸出:空 
**/ 
function onClickSelect() 

    var obj = document.activeElement; 
    if(obj.tagName == "TEXTAREA") 

        obj.select(); 

    if(obj.tagName == "INPUT" ) 

        if(obj.type == "text") 
   obj.select(); 



/* 
* 判斷是否爲數字,是則返回true,否則返回false 
*/ 
代碼 
function f_check_number(obj)     
{           
    if (/^/d+$/.test(obj.value))     
    {     
       return true;     
    }     
    else     
    {     
       f_alert(obj,"請輸入數字");     
       return false;     
    }     
}     
   
/* 
* 判斷是否爲自然數,是則返回true,否則返回false 
*/ 
代碼 
function f_check_naturalnumber(obj)     
{           
    var s = obj.value;     
    if (/^[0-9]+$/.test( s ) && (s > 0))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"請輸入自然數");     
        return false;     
    }     
}     
   
/* 
* 判斷是否爲整數,是則返回true,否則返回false 
*/ 
代碼 
function f_check_integer(obj)     
{           
    if (/^(/+|-)?/d+$/.test( obj.value ))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"請輸入整數");     
        return false;     
    }     
}     
   
/* 
* 判斷是否爲實數,是則返回true,否則返回false 
*/ 
代碼 
function f_check_float(obj)     
{           
    if (/^(/+|-)?/d+($|/./d+$)/.test( obj.value ))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"請輸入實數");     
       return false;     
    }     
}     










//========================================================================動態輸入類函數 
//--------------------------------只允許輸入字母、數字、下劃線(動態判斷) 
function TextOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//97~122=a~z 
//65~90=A~Z 
//95=_ 
    if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) 

        //window.event.keyCode=27; 
  event.returnValue=false 
  return false; 
    } 
else 

        //window.event.keyCode=keycode; 
  return true; 
    } 

//--------------------------------只允許輸入字母、數字(動態判斷) 
function TextNumOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//97~122=a~z 
//65~90=A~Z 
//95=_ 
    if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) 

        //window.event.keyCode=27; 
  event.returnValue=false 
  return false; 
    } 
else 

        //window.event.keyCode=keycode; 
  return true; 
    } 

//--------------------------------只允許輸入數字(動態判斷) 
/** 
*方法名:NumOnly() 
*描述:只允許輸入數字 
*輸入:空 
*輸出:空 
**/ 
function NumOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
    if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46)) 

        window.event.keyCode=27; 
  return false; 
    } 
else 

        //window.event.keyCode=keycode; 
  return true; 
    } 

//--------------------------------只能輸入電話號碼或者"-"或者"("或者")" 
function TelOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//40=( 
//41=) 
//45=- 
//32=空格 
    if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46) && (i!=40) && (i!=41) && (i!=45) && (i!=32)) 

        window.event.keyCode=27; 
  return false; 
    } 
else 

        //window.event.keyCode=keycode; 
  return true; 
    } 

//========================================================================動態輸入函數(結束) 

//========================================================================表單驗證函數 
//--------------------------------判斷用戶名(判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母) 
function isAccount(str) 

if(/^[a-z]/w{3,}$/i.test(str))   //用戶名由字母和數字、下劃線組成,且只能以字母開頭,且長度最小爲4位 
//if(/^([a-zA-z]{1})([/w]*)$/g.test(str))//用戶名由字母和數字、下劃線組成,且只能以字母開頭 

  //alert('); 
  return true; 

else 
  return false; 

//--------------------------------判斷只能輸入中文、數字、字母 
function isChinese(str) 

var pattern = /^[0-9a-zA-Z/u4e00-/u9fa5]+$/i; 
if (pattern.test(str)) 

  return true; 

else 

  //alert("只能包含中文、字母、數字"); 
  return false; 


//--------------------------------Email格式判斷 
function ismail(email) 

return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(email)); 

//--------------------------------IP格式判斷 
function isip(s) 

var check=function(v) 

  try 
  { 
   return (v<=255 && v>=0) 
  } 
  catch(x) 
  { 
   return false 
  } 
}; 
var re=s.split(".") 
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && 

//--------------------------------判斷電話號碼/手機號碼 
function PhoneCheck(s) 

var str=s; 
var reg=/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/; 
//alert(reg.test(str)); 
return reg.test(str); 

//--------------------------------判斷手機號碼 
function isMobile(str) 
{       
var reg=/^0{0,1}13[0-9]{9}$/; 
return reg.test(str); 

//--------------------------------短日期(如2003-12-05) 
function isDate(str) 

var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/); 
if(r==null) 

  //alert('輸入的信息不是日期格式(YYYY:MM:DD)'); 
  return false; 

if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) 

  //alert("日期格式(YYYY:MM:DD)不對"); 
  return false 

var d= new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 

var a = 
if (a == null) 

  //alert('輸入的信息不是時間格式(HH:MM:SS)'); 
  return false; 

if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0) 

  //alert("時間格式(0<=HH<23:0<=MM<60:0<=SS<60)不對"); 
  return false 

return true; 


var reg = 
var r = str.match(reg); 
if(r==null) 

  //alert('輸入的信息不是時間格式(YYYY-MM-DD 
  return false; 

var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);


//========================================================================表單驗證函數(結束) 
//========================================================================其它函數 
//用於改變當前後臺框架的尺寸(參數:對象,關閉時顯示圖片,打開時顯示圖片,關閉顯示尺寸,打開顯示尺寸) 
//       例:this,'../images/openout.gif','../images/setby.gif','top.frame.cols=/'0,*/'','top.frame.cols=/'150,*/'' 
function changeFrame(ob,s1,s2,evalString1,evalString2) 

if (ob.alt == "收起") 

  ob.alt = "展開"; 
  ob.src = s1; 
  eval(evalString1); 

else 

  ob.alt = "收起"; 
  ob.src = s2; 
  eval(evalString2); 


//用於全選/全不選(參數form=表單) 
function CheckAll(form)     

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

 
 if (e.type=="checkbox") 
  { 
   if (e.name!="AllChoice") 
   { 
    if (form.AllChoice.checked==true) 
    { 
     if (e.disabled==false) e.checked=true; 
    } 
    else 
    { 
     if (e.disabled==false) e.checked=false; 
    } 
   } 
  } 
    }     

//--------------------------------用戶在button以外的頁面元素中按回車-->轉換-->按tab鍵 
/** 
*方法名:onKeyDownDefault 
*描述:用戶在button以外的頁面元素中按回車,轉換爲按tab鍵 
*輸入:空 
*輸出:空 
**/ 
function onKeyDownDefault() 

    if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){ 
        if (window.event.srcElement.type != "button") 
            window.event.keyCode = 9; 
    } 
    else{ 
        return true; 
    } 

// 修改編輯欄高度 
function admin_Size(num,objname) 

var obj=document.getElementById(objname) 
if (parseInt(obj.rows)+num>=3) { 
  obj.rows = parseInt(obj.rows) + num; 

if (num>0) 

  obj.width="90%"; 


//取得字符串中中文/漢字的個數 
function getChineseNum(obstring) 

var pattern = /^[/u4e00-/u9fa5]+$/i; 
var maxL,minL; 
maxL = obstring.length;    //原始長度 
obstring = obstring.replace(pattern,""); 
minL = obstring.length;    //處理後的長度 
return (maxL - minL) 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章