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>
<%
'限制只能輸入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
'限制只能輸入全角字符:οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
'限制只能輸入數字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
'限制只能輸入數字和英文:οnkeyup="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)
}
//========================================================================其它函數(結束)







驗證 是否是 數字

<html xmlns="
http://www.w3.org/1999/xhtml">
<body>
<script language="JavaScript">
function check(formname){
if (isNaN(document.all['price'].value)){
alert('請輸入數字');
document.all["price"].focus();
return false;
}
else{
if(document.all["price"].value !="")
{
      alert('是數字,通過');
       return true;
}
else
{
    alert('空直,');
       return true;
}
  }
}
</script>
<form method="post" action="">
  <input type="text" >
  <input type="submit" value="提交" >
  <input type ="text" />
</form>
</body>
</html>


原文地址:http://blog.csdn.net/h475410885/article/details/4155413

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