<option id="weogm"></option>
  • <button id="weogm"><code id="weogm"></code></button>
    \r\n
    <\/pre>

    規(guī)則表達式 :<\/strong><\/p>

    <\/p>

      (填寫\/ \/之間的表達式)\r\n
    <\/pre>

    校驗字符串 :<\/strong><\/p>

     \r\n    \r\n<\/form>\r\n<\/body>\r\n<\/html><\/pre>

    4.正則表達式應用<\/strong><\/span><\/p>

    \"^\\d+$\"  \/\/非負整數(shù)(正整數(shù) + 0) <\/p>

    \"^[0-9]*[1-9][0-9]*$\"  \/\/正整數(shù) <\/p>

    \"^((-\\d+)|(0+))$\"  \/\/非正整數(shù)(負整數(shù) + 0) <\/p>

    \"^-[0-9]*[1-9][0-9]*$\"  \/\/負整數(shù)?<\/p>

    \"^-?\\d+$\"    \/\/整數(shù)?<\/p>

    #\"^\\d+(\\.\\d+)?$\"  \/\/非負浮點數(shù)(正浮點數(shù)+ 0)?<\/p>

    \"^(([0- 9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+ )|([0-9]*[1-9][0-9]*))$\"  \/\/正浮點數(shù)?<\/p>

    \"^((-\\d+(\\.\\d+ )?)|(0+(\\.0+)?))$\"  \/\/非正浮點數(shù)(負浮點數(shù)+ 0)?<\/p>

    \"^(-(([0-9 ]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+) |([0-9]*[1-9][0-9]*)))$\"  \/\/負浮點數(shù)?<\/p>

    \"^(-?\\d+)(\\.\\ d+)?$\"  \/\/浮點數(shù)?<\/p>

    \"^[A-Za-z]+$\"  \/\/由26個英文字母組成的字串?<\/p>

    # \"^[A-Z]+$\"  \/\/由26個英文字母的大寫組成的字符串?<\/p>

    \"^[a-z]+$\"  \/\/由26個英文字母的小寫組成的字符串?<\/p>

    \"^[A-Za-z0-9]+$\"  \/\/由數(shù)字和26個英文字母組成的字串?<\/p>

    #\"^\\w+ $\"  \/\/由數(shù)字、26個英文字母或底線組成的字串?<\/p>

    \"^[\\w-]+(\\.[\\w-]+)*@[\\w- ]+(\\.[\\w-]+)+$\"    \/\/email位址?<\/p>

    \"^[a-zA-z]+:\/\/(\\w+(-\\w+)* )(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$\"  \/\/url<\/p>

    \/^(d{2}|d{4} )-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0 |1]))$\/?? \/\/? 年-月-日<\/p>

    \/^((0([1-9]{1}))|(1[1|2]))\/ (([0-2]([1-9]{1}))|(3[0|1]))\/(d{2}|d{4})$\/?? \/\/ 月\/日\/年<\/p>

    \"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{ 1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$\" \/\/Emil<\/p>#

    \"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?\"     \/\/電話號碼<\/p>

    \"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$\"   \/\/IP地址<\/p>

    ^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   \/\/MAC地址的正則表達式<\/p>

    ^[-+]?\\d+(\\.\\d+)?$  \/\/值類型正則表達式<\/p>

    5.javascript正則表達式檢驗<\/strong><\/span><\/p>

    \/\/校驗是否全由數(shù)字組成<\/strong><\/p>

    <\/p>

    function isDigit(s)\r\n{\r\nvar patrn=\/^[0-9]{1,20}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗登錄名:只能輸入5-20個以字母開頭、可帶數(shù)字、“_”、“.”的字串<\/strong><\/p>

    function isRegisterUserName(s)\r\n{\r\nvar patrn=\/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗用戶姓名:只能輸入1-30個以字母開頭的字串<\/strong><\/p>

    function isTrueName(s)\r\n{\r\nvar patrn=\/^[a-zA-Z]{1,30}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗密碼:只能輸入6-20個字母、數(shù)字、下劃線<\/strong><\/p>

    function isPasswd(s)\r\n{\r\nvar patrn=\/^(\\w){6,20}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”<\/strong><\/p>

    function isTel(s)\r\n{\r\n\/\/var patrn=\/^[+]{0,1}(\\d){1,3}[ ]?([-]?(\\d){1,12})+$\/;\r\nvar patrn=\/^[+]{0,1}(\\d){1,3}[ ]?([-]?((\\d)|[ ]){1,12})+$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗手機號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”<\/p>

    function isMobil(s)\r\n{\r\nvar patrn=\/^[+]{0,1}(\\d){1,3}[ ]?([-]?((\\d)|[ ]){1,12})+$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗郵政編碼<\/strong><\/p>

    function isPostalCode(s)\r\n{\r\n\/\/var patrn=\/^[a-zA-Z0-9]{3,12}$\/;\r\nvar patrn=\/^[a-zA-Z0-9 ]{3,12}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}<\/pre>

    \/\/校驗搜索關鍵字<\/strong><\/p>

    function isSearch(s)\r\n{\r\nvar patrn=\/^[^`~!@#$%^&*()+=|\\\\\\][\\]\\{\\}:;\\'\\,.<>\/?]{1}[^`~!@$%^&()+=|\\\\\\][\\]\\{\\}:;\\'\\,.<>?]{0,19}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}\r\nfunction isIP(s) \/\/by zergling\r\n{\r\nvar patrn=\/^[0-9.]{1,20}$\/;\r\nif (!patrn.exec(s)) return false\r\nreturn true\r\n}\r\n \r\n\/*********************************************************************************\r\n* FUNCTION: isBetween\r\n* PARAMETERS: val AS any value\r\n* lo AS Lower limit to check\r\n* hi AS Higher limit to check\r\n* CALLS: NOTHING\r\n* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.\r\n**********************************************************************************\/\r\nfunction isBetween (val, lo, hi) {\r\nif ((val < lo) || (val > hi)) { return(false); }\r\nelse { return(true); }\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: isDate checks a valid date\r\n* PARAMETERS: theStr AS String\r\n* CALLS: isBetween, isInt\r\n* RETURNS: TRUE if theStr is a valid date otherwise false.\r\n**********************************************************************************\/\r\nfunction isDate (theStr) {\r\nvar the1st = theStr.indexOf('-');\r\nvar the2nd = theStr.lastIndexOf('-');\r\nif (the1st == the2nd) { return(false); }\r\nelse {\r\nvar y = theStr.substring(0,the1st);\r\nvar m = theStr.substring(the1st+1,the2nd);\r\nvar d = theStr.substring(the2nd+1,theStr.length);\r\nvar maxDays = 31;\r\nif (isInt(m)==false || isInt(d)==false || isInt(y)==false) {\r\nreturn(false); }\r\nelse if (y.length < 4) { return(false); }\r\nelse if (!isBetween (m, 1, 12)) { return(false); }\r\nelse if (m==4 || m==6 || m==9 || m==11) maxDays = 30;\r\nelse if (m==2) {\r\nif (y % 4 > 0) maxDays = 28;\r\nelse if (y % 100 == 0 && y % 400 > 0) maxDays = 28;\r\nelse maxDays = 29;\r\n}\r\nif (isBetween(d, 1, maxDays) == false) { return(false); }\r\nelse { return(true); }\r\n}\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: isEuDate checks a valid date in British format\r\n* PARAMETERS: theStr AS String\r\n* CALLS: isBetween, isInt\r\n* RETURNS: TRUE if theStr is a valid date otherwise false.\r\n**********************************************************************************\/\r\nfunction isEuDate (theStr) {\r\nif (isBetween(theStr.length, 8, 10) == false) { return(false); }\r\nelse {\r\nvar the1st = theStr.indexOf('\/');\r\nvar the2nd = theStr.lastIndexOf('\/');\r\nif (the1st == the2nd) { return(false); }\r\nelse {\r\nvar m = theStr.substring(the1st+1,the2nd);\r\nvar d = theStr.substring(0,the1st);\r\nvar y = theStr.substring(the2nd+1,theStr.length);\r\nvar maxDays = 31;\r\nif (isInt(m)==false || isInt(d)==false || isInt(y)==false) {\r\nreturn(false); }\r\nelse if (y.length < 4) { return(false); }\r\nelse if (isBetween (m, 1, 12) == false) { return(false); }\r\nelse if (m==4 || m==6 || m==9 || m==11) maxDays = 30;\r\nelse if (m==2) {\r\nif (y % 4 > 0) maxDays = 28;\r\nelse if (y % 100 == 0 && y % 400 > 0) maxDays = 28;\r\nelse maxDays = 29;\r\n}\r\nif (isBetween(d, 1, maxDays) == false) { return(false); }\r\nelse { return(true); }\r\n}\r\n}\r\n}\r\n\/********************************************************************************\r\n* FUNCTION: Compare Date! Which is the latest!\r\n* PARAMETERS: lessDate,moreDate AS String\r\n* CALLS: isDate,isBetween\r\n* RETURNS: TRUE if lessDateDate2) { return(false);}\r\nreturn(true);\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION isEmpty checks if the parameter is empty or null\r\n* PARAMETER str AS String\r\n**********************************************************************************\/\r\nfunction isEmpty (str) {\r\nif ((str==null)||(str.length==0)) return true;\r\nelse return(false);\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: isInt\r\n* PARAMETER: theStr AS String \r\n* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE\r\n* CALLS: isDigit\r\n**********************************************************************************\/\r\nfunction isInt (theStr) {\r\nvar flag = true;\r\nif (isEmpty(theStr)) { flag=false; }\r\nelse\r\n{ for (var i=0; i decLen) return(false);\r\nelse if (!isInt(intPart) || !isInt(decPart)) return (false);\r\nelse if (isEmpty(decPart)) return (false);\r\nelse return(true);\r\n}\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: isEmail\r\n* PARAMETER: String (Email Address)\r\n* RETURNS: TRUE if the String is a valid Email address\r\n* FALSE if the passed string is not a valid Email Address\r\n* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com\r\n* @ sign can appear only once in the email address.\r\n*********************************************************************************\/\r\nfunction isEmail (theStr) {\r\nvar atIndex = theStr.indexOf('@');\r\nvar dotIndex = theStr.indexOf('.', atIndex);\r\nvar flag = true;\r\ntheSub = theStr.substring(0, dotIndex+1)\r\nif ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) \r\n{ return(false); }\r\nelse { return(true); }\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: newWindow\r\n* PARAMETERS: doc -> Document to open in the new window\r\nhite -> Height of the new window\r\nwide -> Width of the new window\r\nbars -> 1-Scroll bars = YES 0-Scroll Bars = NO\r\nresize -> 1-Resizable = YES 0-Resizable = NO\r\n* CALLS: NONE\r\n* RETURNS: New window instance\r\n**********************************************************************************\/\r\nfunction newWindow (doc, hite, wide, bars, resize) {\r\nvar winNew=\"_blank\";\r\nvar opt=\"toolbar=0,location=0,directories=0,status=0,menubar=0,\";\r\nopt+=(\"scrollbars=\"+bars+\",\");\r\nopt+=(\"resizable=\"+resize+\",\");\r\nopt+=(\"width=\"+wide+\",\");\r\nopt+=(\"height=\"+hite);\r\nwinHandle=window.open(doc,winNew,opt);\r\nreturn;\r\n}\r\n\/*********************************************************************************\r\n* FUNCTION: DecimalFormat\r\n* PARAMETERS: paramValue -> Field value\r\n* CALLS: NONE\r\n* RETURNS: Formated string\r\n**********************************************************************************\/\r\nfunction DecimalFormat (paramValue) {\r\nvar intPart = parseInt(paramValue);\r\nvar decPart =parseFloat(paramValue) - intPart;\r\nstr = \"\";\r\nif ((decPart == 0) || (decPart == null)) str += (intPart + \".00\");\r\nelse str += (intPart + decPart);\r\nreturn (str);\r\n}<\/pre>

    ?\"^\\\\d+$\"  \/\/非負整數(shù)(正整數(shù) + 0)?
    <\/p>\n

    \"^[0-9]*[1-9][0-9]*$\"  \/\/正整數(shù)?
    <\/p>\n

    \"^((-\\\\d+)|(0+))$\"  \/\/非正整數(shù)(負整數(shù) + 0)?
    <\/p>\n

    \"^-[0-9]*[1-9][0-9]*$\"  \/\/負整數(shù)?
    <\/p>\n

    \"^-?\\\\d+$\"    \/\/整數(shù)?
    <\/p>\n

    \"^\\\\d+(\\\\.\\\\d+)?$\"  \/\/非負浮點數(shù)(正浮點數(shù)+ 0)?
    <\/p>\n

    \"^(([0-9]+\\\\.[0-9]*[1-9][0-9]*)|([0-9] *[1-9][0-9]*\\\\.[0-9]+)|([0-9]*[1-9][0-9]*))$\"  \/\/正浮點數(shù)
    <\/p>\n

    \"^((-\\\\d+(\\\\.\\\\d+)?)|(0+(\\\\.0+)?))$\"  \/\/非正浮點數(shù)(負浮點數(shù)+ 0)?
    <\/p>\n

    \"^(-(([0-9]+\\\\.[0-9]*[1-9][0-9]*)|( [0-9]*[1-9][0-9]*\\\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ \"  \/\/負浮點數(shù)?
    <\/p>\n

    \"^(-?\\\\d+)(\\\\.\\\\d+)?$\"  \/\/浮點數(shù)?
    <\/p>\n

    \"^
    <\/p>\"^ [A-Za-z]+$\"  \/\/由26個英文字母組成的字串?


    <\/p>\"^[A-Z]+$\"  \/\/由26個英文字母的大寫組成的字符串?


    <\/p>\"^[a-z]+$\"  \/\/由26個英文字母的小寫組成的字串?


    <\/p>\"^[A-Za-z0-9 ]+$\"  \/\/由數(shù)字和26個英文字母組成的字串?


    <\/p>\"^\\\\w+$\"  \/\/由數(shù)字、26個英文字母或底線組成的字串?


    <\/p>\"^[\\\\w-]+(\\\\.[\\\\w-]+)*@[\\\\w-]+(\\\\.[\\\\w-]+)+ $\"    \/\/email地址?

    <\/p>\n

    \"^[a-zA-z]+:\/\/(\\\\w+(-\\\\w+)*)(\\\\.(\\\\w+(- \\\\w+)*))*(\\\\?\\\\S*)?$\"  \/\/url<\/p>###以上就是給大家分享的正規(guī)表示式基本語法,希望對大家學習有所幫助。 ###"}

    亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

    首頁 web前端 js教程 js正規(guī)表示式之基本語法總結

    js正規(guī)表示式之基本語法總結

    Mar 28, 2018 pm 02:46 PM
    javascript 正規(guī)表示式

    本文主要為大家分享一篇js正規(guī)表示式之基本語法總結,具有很好的參考價值,希望對大家有所幫助。一起跟著小編過來看看吧。

    1.正規(guī)表示式基本語法

    #兩個特殊的符號'^'和'$'。他們的作用是分別指出一個字串的開始和結束。

    例子如下:

    "^The":表示所有以"The"開始的字串("There","The cat"等);

    "of despair$":表示所以以"of despair"結尾的字串;

    "^abc$":表示開始和結尾都是"abc"的字串-呵呵,只有"abc"自己了;

    "notice":表示任何包含"notice"的字串。

    象最後那個例子,如果你不使用兩個特殊字符,你就在表示要查找的串在被查找串的任意部分——你並
    不把它定位在某一個頂端。

    其它還有'*','+'和'?'這三個符號,表示一個或一序列字元重複出現(xiàn)的次數(shù)。

    它們分別表示“沒有或更多”,“一次或更多”還有“沒有或一次”。

    下面有幾個例子:

    "ab*":表示字串有一個a後面跟著零個或若干個b。 ("a", "ab", "abbb",…);

    "ab+":表示一個字串有一個a後面跟著至少一個b或更多;

    #" ab?":表示一個字串有一個a後面跟著零個或一個b;

    "a?b+$":表示在字串的末尾有零個或一個a跟著一個或幾個b 。

    你也可以使用範圍,用大括號括起,用以表示重複次數(shù)的範圍。

    "ab{2}":表示一個字串有一個a跟著2個b("abb");

    "ab{2,}":表示一個字串有一個a跟著至少2個b;

    "ab{3,5}":表示一個字串有一個a跟著3到5個b。

    請注意,你必須指定範圍的下限(如:"{0,2}"而不是"{,2}")。

    還有,你可能注意到了,'*','+'和'?'相當於"{0,}","{1,}"和"{0,1}"。

    還有一個'|',表示「或」操作:

    "hi|hello":表示一個字串裡有"hi"或"hello";

    "(b|cd)ef":表示"bef"或"cdef";

    "(a|b)*c":表示一串"a""b"混合的字串後面接一個"c";

    '.'可以替代任何字元:

    "a.[0-9]":表示一個字串有一個"a"後面跟著一個任意字元和一個數(shù)字;

    "^.{3}$":表示有任意三個字元的字串(長度為3個字元);

    方括號表示某些字元允許在一個字串中的某一特定位置出現(xiàn):

    "[ab]":表示字串有一個"a"或"b"(相當於"a|b");

    #"[a-d]":表示一個字串包含小寫的'a'到'd'中的一個(相當於"a|b|c|d"或"[abcd]");

    "^[a-zA-Z]":表示一個以字母開頭的字串;

    "[0-9]%":表示一個百分號前有一位的數(shù)字;

    ",[a-zA-Z0-9]$":表示一個字串以一個逗號後面跟著一個字母或數(shù)字結束。

    你也可以在方括號裡用'^'表示不希望出現(xiàn)的字符,'^'應在方括號裡的第一位。

    (如:"%[^a-zA-Z]%"表示兩個百分號中不應該出現(xiàn)字母)。

    為了逐字表達,你必須在"^.$()|*+?{\"這些字符前加上轉移字符'\'。

    請注意在方括號中,不需要轉義字元。

    2.正規(guī)表示式驗證控製文字方塊的輸入字元型別

    1.只能輸入數(shù)字和英文的:

    <input onkeyup="value=value.replace(/[\W]/g,&#39;&#39;) "
     onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\d]/g,&#39;&#39;))" 
     ID="Text1" 
     NAME="Text1">

    2.只能輸入數(shù)字的:

    <input onkeyup="value=value.replace(/[^\d]/g,&#39;&#39;) " 
    onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\d]/g,&#39;&#39;))" 
    ID="Text2" 
    NAME="Text2">

    3.只能輸入全角的:


    <input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,&#39;&#39;)" 
    onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\uFF00-\uFFFF]/g,&#39;&#39;))" 
    ID="Text3" 
    NAME="Text3">

    4.只能輸入漢字的:

    <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,&#39;&#39;)" 
    onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\u4E00-\u9FA5]/g,&#39;&#39;))" 
    ID="Text4" 
    NAME="Text4">

    3.正規(guī)表示式的應用實例通俗說明

    **************************************** ***************************************

    //校驗是否全由數(shù)字組成

    /^[0-9]{1,20}$/

    ^ 表示打頭的字元要符合緊接^後面的規(guī)則

    $ 表示打頭的字元要匹配緊靠$前面的規(guī)則

    [ ] 中的內(nèi)容是可選字元集

    [0-9] 表示要求字元範圍在0-9之間

    {1,20}表示數(shù)字字串長度合法為1到20,即為[0-9]中的字元出現(xiàn)次數(shù)的範圍是1到20次。

    /^ 和 $/成對使用應該是表示要求整個字串完全符合定義的規(guī)則,而不是只符合字串中的一個子字串。

    ***************************************** *************************************

    //校驗登入名:只能輸入5-20個以字母開頭、可帶數(shù)字、「_」、「.」的字串

    #/^[a-zA-Z]{1}([a-zA- Z0-9]|[._]){4,19}$/

    ^[a-zA-Z]{1} 表示第一個字元要求是字母。

    ([a-zA-Z0-9]|[._]){4,19} 表示從第二位開始(因為它緊接在上個表達式後面)的一個長度為4到9位元的字串,它要求是由大小寫字母、數(shù)字或特殊字元集[._]組成。

    ***************************************** **************************************

    //校驗使用者姓名:只能輸入1-30個以字母開頭的字串

    /^[a-zA-Z]{1,30}$/?

    ** ************************************************** ***************************

    //校驗密碼:只能輸入6-20個字母、數(shù)字、底線

    /^(\w){6,20}$/

    \w:用於匹配字母,數(shù)字或底線字元?


    ##******************************************** ***********************************

    //校驗普通電話、傳真號碼:可「+」或數(shù)字開頭,可含有「-」 和「 」

    /^[+]{0,1}(\d){1,3}[ ] ?([-]?((\d)|[ ]){1,12})+$/

    ####\d:用來符合0到9的數(shù)字;#### ##

    “?”元字符規(guī)定其前導對象必須在目標對象中連續(xù)出現(xiàn)零次或一次

    可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等

    *******************************************************************************
    //校驗URL

    /^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的長度為length(“https://”) + n )
    \ / :表示字符“/”。

    . 表示所有字符的集

    + 等同于{1,},就是1到正無窮吧。

    *******************************************************************************

    //校驗純中文字符
    /

    ^[\u4E00-\u9FA5]+$/

    [\u4E00-\u9FA5] :估計是中文字符集的范圍吧

    以上表達式均在下面的javascript中測試通過


    <html>
    <script language="JavaScript">
    <!--
    function regx(r,s)
    {
        if (r == null || r == ""){
           return false;
        }
        var patrn= new RegExp(r);
        if (patrn.exec(s))
           return true
        return false
    }
     
    -->
    </script>
    <body>
    <form>

    規(guī)則表達式 :


     <input type="input" name="regxStr" value="" > (填寫/ /之間的表達式)
    <br>

    校驗字符串 :

     <input type="input" name="str" value="" >
        <input type="button" name="match" value="匹配" onClick="alert(regx(regxStr.value,str.value));">
    </form>
    </body>
    </html>

    4.正則表達式應用

    "^\d+$"  //非負整數(shù)(正整數(shù) + 0)

    "^[0-9]*[1-9][0-9]*$"  //正整數(shù)

    "^((-\d+)|(0+))$"  //非正整數(shù)(負整數(shù) + 0)

    "^-[0-9]*[1-9][0-9]*$"  //負整數(shù)?

    "^-?\d+$"    //整數(shù)?

    #"^\d+(\.\d+)?$"  //非負浮點數(shù)(正浮點數(shù)+ 0)?

    "^(([0- 9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+ )|([0-9]*[1-9][0-9]*))$"  //正浮點數(shù)?

    "^((-\d+(\.\d+ )?)|(0+(\.0+)?))$"  //非正浮點數(shù)(負浮點數(shù)+ 0)?

    "^(-(([0-9 ]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+) |([0-9]*[1-9][0-9]*)))$"  //負浮點數(shù)?

    "^(-?\d+)(\.\ d+)?$"  //浮點數(shù)?

    "^[A-Za-z]+$"  //由26個英文字母組成的字串?

    # "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串?

    "^[a-z]+$"  //由26個英文字母的小寫組成的字符串?

    "^[A-Za-z0-9]+$"  //由數(shù)字和26個英文字母組成的字串?

    #"^\w+ $"  //由數(shù)字、26個英文字母或底線組成的字串?

    "^[\w-]+(\.[\w-]+)*@[\w- ]+(\.[\w-]+)+$"    //email位址?

    "^[a-zA-z]+://(\w+(-\w+)* )(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

    /^(d{2}|d{4} )-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0 |1]))$/?? //? 年-月-日

    /^((0([1-9]{1}))|(1[1|2]))/ (([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/?? // 月/日/年

    "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{ 1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil

    #

    "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //電話號碼

    "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

    ^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址的正則表達式

    ^[-+]?\d+(\.\d+)?$ //值類型正則表達式

    5.javascript正則表達式檢驗

    //校驗是否全由數(shù)字組成


    function isDigit(s)
    {
    var patrn=/^[0-9]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗登錄名:只能輸入5-20個以字母開頭、可帶數(shù)字、“_”、“.”的字串

    function isRegisterUserName(s)
    {
    var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗用戶姓名:只能輸入1-30個以字母開頭的字串

    function isTrueName(s)
    {
    var patrn=/^[a-zA-Z]{1,30}$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗密碼:只能輸入6-20個字母、數(shù)字、下劃線

    function isPasswd(s)
    {
    var patrn=/^(\w){6,20}$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”

    function isTel(s)
    {
    //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗手機號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”

    function isMobil(s)
    {
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗郵政編碼

    function isPostalCode(s)
    {
    //var patrn=/^[a-zA-Z0-9]{3,12}$/;
    var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
    if (!patrn.exec(s)) return false
    return true
    }

    //校驗搜索關鍵字

    function isSearch(s)
    {
    var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\&#39;\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\&#39;\,.<>?]{0,19}$/;
    if (!patrn.exec(s)) return false
    return true
    }
    function isIP(s) //by zergling
    {
    var patrn=/^[0-9.]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
    }
     
    /*********************************************************************************
    * FUNCTION: isBetween
    * PARAMETERS: val AS any value
    * lo AS Lower limit to check
    * hi AS Higher limit to check
    * CALLS: NOTHING
    * RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.
    **********************************************************************************/
    function isBetween (val, lo, hi) {
    if ((val < lo) || (val > hi)) { return(false); }
    else { return(true); }
    }
    /*********************************************************************************
    * FUNCTION: isDate checks a valid date
    * PARAMETERS: theStr AS String
    * CALLS: isBetween, isInt
    * RETURNS: TRUE if theStr is a valid date otherwise false.
    **********************************************************************************/
    function isDate (theStr) {
    var the1st = theStr.indexOf(&#39;-&#39;);
    var the2nd = theStr.lastIndexOf(&#39;-&#39;);
    if (the1st == the2nd) { return(false); }
    else {
    var y = theStr.substring(0,the1st);
    var m = theStr.substring(the1st+1,the2nd);
    var d = theStr.substring(the2nd+1,theStr.length);
    var maxDays = 31;
    if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
    return(false); }
    else if (y.length < 4) { return(false); }
    else if (!isBetween (m, 1, 12)) { return(false); }
    else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
    else if (m==2) {
    if (y % 4 > 0) maxDays = 28;
    else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
    else maxDays = 29;
    }
    if (isBetween(d, 1, maxDays) == false) { return(false); }
    else { return(true); }
    }
    }
    /*********************************************************************************
    * FUNCTION: isEuDate checks a valid date in British format
    * PARAMETERS: theStr AS String
    * CALLS: isBetween, isInt
    * RETURNS: TRUE if theStr is a valid date otherwise false.
    **********************************************************************************/
    function isEuDate (theStr) {
    if (isBetween(theStr.length, 8, 10) == false) { return(false); }
    else {
    var the1st = theStr.indexOf(&#39;/&#39;);
    var the2nd = theStr.lastIndexOf(&#39;/&#39;);
    if (the1st == the2nd) { return(false); }
    else {
    var m = theStr.substring(the1st+1,the2nd);
    var d = theStr.substring(0,the1st);
    var y = theStr.substring(the2nd+1,theStr.length);
    var maxDays = 31;
    if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
    return(false); }
    else if (y.length < 4) { return(false); }
    else if (isBetween (m, 1, 12) == false) { return(false); }
    else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
    else if (m==2) {
    if (y % 4 > 0) maxDays = 28;
    else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
    else maxDays = 29;
    }
    if (isBetween(d, 1, maxDays) == false) { return(false); }
    else { return(true); }
    }
    }
    }
    /********************************************************************************
    * FUNCTION: Compare Date! Which is the latest!
    * PARAMETERS: lessDate,moreDate AS String
    * CALLS: isDate,isBetween
    * RETURNS: TRUE if lessDate<moreDate
    *********************************************************************************/
    function isComdate (lessDate , moreDate)
    {
    if (!isDate(lessDate)) { return(false);}
    if (!isDate(moreDate)) { return(false);}
    var less1st = lessDate.indexOf(&#39;-&#39;);
    var less2nd = lessDate.lastIndexOf(&#39;-&#39;);
    var more1st = moreDate.indexOf(&#39;-&#39;);
    var more2nd = moreDate.lastIndexOf(&#39;-&#39;);
    var lessy = lessDate.substring(0,less1st);
    var lessm = lessDate.substring(less1st+1,less2nd);
    var lessd = lessDate.substring(less2nd+1,lessDate.length);
    var morey = moreDate.substring(0,more1st);
    var morem = moreDate.substring(more1st+1,more2nd);
    var mored = moreDate.substring(more2nd+1,moreDate.length);
    var Date1 = new Date(lessy,lessm,lessd); 
    var Date2 = new Date(morey,morem,mored); 
    if (Date1>Date2) { return(false);}
    return(true);
    }
    /*********************************************************************************
    * FUNCTION isEmpty checks if the parameter is empty or null
    * PARAMETER str AS String
    **********************************************************************************/
    function isEmpty (str) {
    if ((str==null)||(str.length==0)) return true;
    else return(false);
    }
    /*********************************************************************************
    * FUNCTION: isInt
    * PARAMETER: theStr AS String 
    * RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
    * CALLS: isDigit
    **********************************************************************************/
    function isInt (theStr) {
    var flag = true;
    if (isEmpty(theStr)) { flag=false; }
    else
    { for (var i=0; i<theStr.length; i++) {
    if (isDigit(theStr.substring(i,i+1)) == false) {
    flag = false; break;
    }
    }
    }
    return(flag);
    }
    /*********************************************************************************
    * FUNCTION: isReal
    * PARAMETER: heStr AS String 
    decLen AS Integer (how many digits after period)
    * RETURNS: TRUE if theStr is a float, otherwise FALSE
    * CALLS: isInt
    **********************************************************************************/
    function isReal (theStr, decLen) {
    var dot1st = theStr.indexOf(&#39;.&#39;);
    var dot2nd = theStr.lastIndexOf(&#39;.&#39;);
    var OK = true;
    if (isEmpty(theStr)) return false;
    if (dot1st == -1) {
    if (!isInt(theStr)) return(false);
    else return(true);
    }
    else if (dot1st != dot2nd) return (false);
    else if (dot1st==0) return (false);
    else {
    var intPart = theStr.substring(0, dot1st);
    var decPart = theStr.substring(dot2nd+1);
    if (decPart.length > decLen) return(false);
    else if (!isInt(intPart) || !isInt(decPart)) return (false);
    else if (isEmpty(decPart)) return (false);
    else return(true);
    }
    }
    /*********************************************************************************
    * FUNCTION: isEmail
    * PARAMETER: String (Email Address)
    * RETURNS: TRUE if the String is a valid Email address
    * FALSE if the passed string is not a valid Email Address
    * EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com
    * @ sign can appear only once in the email address.
    *********************************************************************************/
    function isEmail (theStr) {
    var atIndex = theStr.indexOf(&#39;@&#39;);
    var dotIndex = theStr.indexOf(&#39;.&#39;, atIndex);
    var flag = true;
    theSub = theStr.substring(0, dotIndex+1)
    if ((atIndex < 1)||(atIndex != theStr.lastIndexOf(&#39;@&#39;))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) 
    { return(false); }
    else { return(true); }
    }
    /*********************************************************************************
    * FUNCTION: newWindow
    * PARAMETERS: doc -> Document to open in the new window
    hite -> Height of the new window
    wide -> Width of the new window
    bars -> 1-Scroll bars = YES 0-Scroll Bars = NO
    resize -> 1-Resizable = YES 0-Resizable = NO
    * CALLS: NONE
    * RETURNS: New window instance
    **********************************************************************************/
    function newWindow (doc, hite, wide, bars, resize) {
    var winNew="_blank";
    var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
    opt+=("scrollbars="+bars+",");
    opt+=("resizable="+resize+",");
    opt+=("width="+wide+",");
    opt+=("height="+hite);
    winHandle=window.open(doc,winNew,opt);
    return;
    }
    /*********************************************************************************
    * FUNCTION: DecimalFormat
    * PARAMETERS: paramValue -> Field value
    * CALLS: NONE
    * RETURNS: Formated string
    **********************************************************************************/
    function DecimalFormat (paramValue) {
    var intPart = parseInt(paramValue);
    var decPart =parseFloat(paramValue) - intPart;
    str = "";
    if ((decPart == 0) || (decPart == null)) str += (intPart + ".00");
    else str += (intPart + decPart);
    return (str);
    }

    ?"^\\d+$"  //非負整數(shù)(正整數(shù) + 0)?

    "^[0-9]*[1-9][0-9]*$"  //正整數(shù)?

    "^((-\\d+)|(0+))$"  //非正整數(shù)(負整數(shù) + 0)?

    "^-[0-9]*[1-9][0-9]*$"  //負整數(shù)?

    "^-?\\d+$"    //整數(shù)?

    "^\\d+(\\.\\d+)?$"  //非負浮點數(shù)(正浮點數(shù)+ 0)?

    "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9] *[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數(shù)

    "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(shù)(負浮點數(shù)+ 0)?

    "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|( [0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ "  //負浮點數(shù)?

    "^(-?\\d+)(\\.\\d+)?$"  //浮點數(shù)?

    "^

    "^ [A-Za-z]+$"  //由26個英文字母組成的字串?


    "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串?


    "^[a-z]+$"  //由26個英文字母的小寫組成的字串?


    "^[A-Za-z0-9 ]+$"  //由數(shù)字和26個英文字母組成的字串?


    "^\\w+$"  //由數(shù)字、26個英文字母或底線組成的字串?


    "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+ $"    //email地址?

    "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(- \\w+)*))*(\\?\\S*)?$"  //url

    ###以上就是給大家分享的正規(guī)表示式基本語法,希望對大家學習有所幫助。 ###

    以上是js正規(guī)表示式之基本語法總結的詳細內(nèi)容。更多資訊請關注PHP中文網(wǎng)其他相關文章!

    本網(wǎng)站聲明
    本文內(nèi)容由網(wǎng)友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權的內(nèi)容,請聯(lián)絡admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網(wǎng)頁開發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    熱門話題

    Laravel 教程
    1597
    29
    PHP教程
    1488
    72
    簡易JavaScript教學:取得HTTP狀態(tài)碼的方法 簡易JavaScript教學:取得HTTP狀態(tài)碼的方法 Jan 05, 2024 pm 06:08 PM

    JavaScript教學:如何取得HTTP狀態(tài)碼,需要具體程式碼範例前言:在Web開發(fā)中,經(jīng)常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經(jīng)常需要取得傳回的HTTP狀態(tài)碼來判斷操作是否成功,並根據(jù)不同的狀態(tài)碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態(tài)碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

    PHP正規(guī)表示式驗證:數(shù)位格式偵測 PHP正規(guī)表示式驗證:數(shù)位格式偵測 Mar 21, 2024 am 09:45 AM

    PHP正規(guī)表示式驗證:數(shù)位格式偵測在編寫PHP程式時,經(jīng)常需要對使用者輸入的資料進行驗證,其中一個常見的驗證是檢查資料是否符合指定的數(shù)字格式。在PHP中,可以使用正規(guī)表示式來實現(xiàn)這種驗證。本文將介紹如何使用PHP正規(guī)表示式來驗證數(shù)字格式,並提供具體的程式碼範例。首先,讓我們來看看常見的數(shù)字格式驗證要求:整數(shù):只包含數(shù)字0-9,可以以正負號開頭,不包含小數(shù)點。浮點

    如何在 Go 中使用正規(guī)表示式匹配時間戳記? 如何在 Go 中使用正規(guī)表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

    在Go中,可以使用正規(guī)表示式比對時間戳記:編譯正規(guī)表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數(shù)檢查字串是否與正規(guī)表示式相符。

    如何使用正規(guī)表示式在 Golang 中驗證電子郵件地址? 如何使用正規(guī)表示式在 Golang 中驗證電子郵件地址? May 31, 2024 pm 01:04 PM

    若要使用正規(guī)表示式在Golang中驗證電子郵件地址,請執(zhí)行下列步驟:使用regexp.MustCompile建立正規(guī)表示式模式,以符合有效的電子郵件地址格式。使用MatchString函數(shù)檢查字串是否與模式相符。此模式涵蓋了大多數(shù)有效的電子郵件地址格式,包括:局部使用者名稱可以包含字母、數(shù)字和特殊字元:!.#$%&'*+/=?^_{|}~-`網(wǎng)域至少包含一個字母,後面可以跟字母、數(shù)字或連字符頂級域名(TLD)不能超過63個字符長

    如何在 Go 中使用正規(guī)表示式驗證密碼? 如何在 Go 中使用正規(guī)表示式驗證密碼? Jun 02, 2024 pm 07:31 PM

    Go中使用正規(guī)表示式驗證密碼的方法如下:定義正規(guī)表示式模式,符合最低密碼要求:至少8個字符,包含小寫字母、大寫字母、數(shù)字和特殊字符。使用regexp套件中的MustCompile函式編譯正規(guī)表示式模式。使用MatchString方法測試輸入字串是否與正規(guī)表示式模式相符。

    中文字元過濾:PHP正規(guī)表示式實踐 中文字元過濾:PHP正規(guī)表示式實踐 Mar 24, 2024 pm 04:48 PM

    PHP是一種廣泛應用的程式語言,特別在Web開發(fā)領域中非常流行。在網(wǎng)路開發(fā)過程中,經(jīng)常會遇到需要對使用者輸入的文字進行過濾、驗證等操作,其中字元過濾是一項十分重要的操作。本文將介紹如何使用PHP中的正規(guī)表示式來實現(xiàn)中文字元過濾的功能,並給出具體的程式碼範例。首先,我們要先明確一下中文字元的Unicode範圍是從u4e00到u9fa5,也就是所有的漢字都處於這個範圍

    Golang 正規(guī)表示式的使用指南 Golang 正規(guī)表示式的使用指南 Apr 08, 2024 pm 02:15 PM

    Go中的正規(guī)表示式提供了一個強大的字串處理工具:使用regexp套件進行正規(guī)表示式操作。利用正規(guī)表示式語法來匹配和操作字串??善ヅ渥衷悇e、重複字元、分組、錨點和邊界符。透過MatchString匹配字串、FindStringSubmatch提取匹配和ReplaceAllString替換字串。應用程式場景包括驗證電子郵件地址、提取HTML連結等。

    PHP正規(guī)表示式:精確匹配與排除模糊包含 PHP正規(guī)表示式:精確匹配與排除模糊包含 Feb 28, 2024 pm 01:03 PM

    PHP正規(guī)表示式:精確匹配與排除模糊包含正規(guī)表示式是一種強大的文字匹配工具,能夠幫助程式設計師在處理文字時進行高效的搜尋、替換和篩選。在PHP中,正規(guī)表示式也被廣泛應用於字串處理和資料匹配。本文將重點介紹在PHP中如何進行精確配對和排除模糊包含的操作,同時結合具體的程式碼範例進行說明。精確匹配精確匹配意味著只匹配符合完全條件的字串,不匹配任何變種或包含額外字

    See all articles