• \r\n
    <\/pre>

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

    <\/p>

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

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

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

    4.正則表達(dá)式應(yīng)用<\/strong><\/span><\/p>

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

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

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

    \"^-[0-9]*[1-9][0-9]*$\" \/\/?? ?? <\/p>

    \"^-?d+$\" \/\/?? <\/p>

    \"^d+(.d+) ?$\"  \/\/??? ?? ?? ??? ?(?? ?? ??? ? + 0) <\/p>

    \"^(([0-9]+.[0-9]*[1-9][0-9]* )|( [0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$ \" \/\/ ?? ?? ??? ? <\/p>

    \"^((-d+(.d+)?)|(0+(.0+)?))$\" \/\/??? ?? ?? ??? ?(?? ?? ??? ? + 0) <\/p>

    \"^ (-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][ 0-9]*.[ 0-9]+)|([0-9]*[1-9][0-9]*)))$\"  \/\/ ?? ?? ??? ? <\/p>

    \"^(- ?d+)(.d+)? $\" \/\/ ?? ??? ?? <\/p>

    \"^[A-Za-z]+$\" \/\/ 26?? ???? ??? ??? <\/p>

    \"^[A-Z]+$\" \/\/ ?? 26?? ??? ??? ???? ??? ??? <\/p>

    \"^[a-z]+$\" \/\/?? 26?? ??? ??? <\/p>

    \"^[A-Za-z0-9]+$ \" \/\/??? ??? ?? 26??? ??? ??? <\/p>

    \"^w+$\" \/\/ ??? ?? 26?? ?? ??? ??? ??? <\/p>

    \"^[w-]+(.[w- ]+ )*@[w-]+(.[w-]+)+$\"    \/\/??? ?? <\/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地址的正則表達(dá)式<\/p>

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

    5.javascript正則表達(dá)式檢驗<\/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>

    \/\/校驗手機(jī)號碼:必須以數(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>

    \/\/校驗搜索關(guān)鍵字<\/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+$\"  \/\/非負(fù)整數(shù)(正整數(shù) + 0)?
    <\/p>\n

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

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

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

    \"^-?\\d+$\"    \/\/??
    <\/p>\n

    \"^\\d+(\\.\\d+)?$\"   \/\/??? ?? ?? ??? ?(?? ?? ??? ? + 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]*))$\" \/\/?? ?? ??? ?
    <\/p>\n

    \"^((-\\d+(\\.\\d+) ?)|( 0+(\\.0+)?))$\" \/\/??? ?? ?? ??? ?(?? ?? ??? ? + 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]*)))$\" \/\/?? ?? ???
    <\/p>\n

    \"^(-?\\d+)(\\.\\d+)?$\" \/\/?? ??? number
    <\/p>\n

    \"^[A-Za-z]+$\" \/\/?? 26?? ??? ???
    <\/p>\n

    \"^[A-Z]+$\" \/\/?? ??? 26?? ??? ???
    <\/p>\n

    \" ^[a-z] +$\" \/\/ ?? ??? 26?? ??? ???
    <\/p>\n

    \"^[A-Za-z0-9]+$\" \/\/ ??? ?? 26?? ??? ???
    <\/p>\n

    \" ^ \\w+$\" \/\/??, ?? 26? ?? ??? ??? ???
    <\/p>\n

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

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

    ?? ???? ???? ???? ?? ?????. ?? ??? ???? ? ??? ??? ????. <\/p>"}

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    ? ? ????? JS ???? js ???? ?? ?? ??

    js ???? ?? ?? ??

    Mar 28, 2018 pm 02:46 PM
    javascript ???

    ? ?? ?? js ???? ?? ?? ??? ???? ?? ?? ??? ??? ?? ???? ??? ??? ????. ???? ???? ???????.

    1. ?? ??? ??

    ? ?? ?? ?? '^' ? '$'. ??? ??? ?? ???? ??? ?? ???? ????.

    ?? ??? ????:

    "^The": "The"? ???? ?? ???? ?????("There", "The cat" ?).

    "of ??$": "? ??? ?? ???? ?????. of ??" ???;

    "^abc$": "abc"? ???? ??? ???? ?????. ??, "abc" ??? ?????.

    "notice": "notice"? ???? ???? ?????.

    ??? ?? ?? ? ?? ?? ??? ???? ??? ???? ???? ??? ???? ?? ???? ??? ???? ????. ?, ? ?? ???? ?? ????.

    ?? ???? '*', '+', '?' ?? ???, ?? ?? ?? ??? ??? ????? ???? ??? ?????.

    ?? "?? ?? ? ??", "? ? ??" ? "?? ?? ? ?"? ?????.


    ??? ? ?? ????.

    "ab*": ???? a ??? 0? ?? ?? ?? b? ??? ?????. ("a", "ab", "abbb",...);

    "ab+": ???? a? ?? ?? ??? ?????.

    "ab?": ???? ?????. a ??? 0? ?? 1?? b? ????.

    "a?b+$": ??? ?? a? 0? ?? 1? ?? b? 1? ?? ?? ? ??? ?????.

    ???? ?? ??? ???? ?? ??? ??? ?? ????.

    "ab{2}": ???? a ?? 2?? b? ??? ?????("abb").

    "ab{2,}": ???? a ?? ??? 2?? b? ??? ?????.

    "ab{3,5}": ???? a ??? 3~5b? ??? ?????.

    ??? ??? ???? ??? ?? ?????(?: "{,2}" ?? "{0,2}").

    ?? '*', '+' ? '?'? "{0,}", "{1,}" ? "{0,1}"? ????? ?? ????? ????.

    "??" ??? ???? '|'? ????.

    "hi|hello": ???? "hi" ?? "hello"? ??? ?????.

    "(b|cd)ef": "bef" ?? "cdef"? ?????.

    "(a|b)*c": "a"? "b" ?? "c"? ?? ?? ???? ?????.'

    "a.[0-9]": ???? "a" ?? ??? ??? ??? ??? ?????.

    "^.{3}$": ? ??? ??? ???? ?????. ??? 3????.)

    ???? ?? ??? ???? ?? ??? ??? ? ??? ?????.

    "[ab]": ???? "a" ?? "b"? ??? ?????. to "a|b");

    "[a-d]": ???? ??? 'a' ~ 'd' ? ??? ???? ??? ?????("a|b|c|d" ?? "[abcd ]"? ??). ;

    "^[a-zA-Z]": ??? ???? ???? ?????.

    "[0-9]%": ??? ?? ?? ?? ??? ?????.

    ",[a-zA-Z0-9]$": ???? ??? ??? ? ?? ??? ??? ?? ?? ?????.

    ??? ?? '^'? ???? ??? ?? ??? ??? ?? ????. '^'? ??? ?? ? ?? ???? ???.

    (?: "%[^a-zA-Z]%"? ? ?? ??? ?? ??? ??? ???? ??? ?? ?????).

    ??? ????? "^.$()|*+?{" ?? ?? ??? ?? ''? ???? ???.

    ??? ??? ????? ??? ???? ????.

    2. ??? ??? ?? ?? ??? ?????

    1. ??? ??? ??? ? ????:

    <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. ??? ??? ? ????:

    <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 ??? ?? ??? ?? ?? ??

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

    //?? ??? ???? ??? ??

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

    ^? ^

    $ ?? ??? ?? ??? ??? ???? ?? ?????. ?, $

    [] ??? ?? ??? ??? ???? ??? ??? ??? ?? ?????

    [0-9] ?? ?? ??? 0-9?? ?????

    {1,20}? ?? ???? ???? ??? 1~20, ? [0-9]? ?? ?? ?? ??? 1~20??? ?????.

    /^ ? $/? ???? ?? ???? ????? ?? ??? ?? ???? ??? ??? ??? ???? ?? ???? ?? ??? ???? ???.

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

    //??? ?? ??: 5-20? ??? ??? ? ????. ??, "_", "."? ??? ? ?? ???? ?????.

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

    ^[a-zA-Z]{1}? ? ?? ??? ???? ?? ?????.

    ([a-zA-Z0-9]|[._]){4,19}? ??? 4~9?? ???? ? ?? ??(?? ??? ?? ?? ?? ???)?? ????? ?????. ???, ???, ?? ?? ???? ??[._]?? ????? ???.

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

    //??? ?? ??: ? 1~30??? ?? ??

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

    ********************? ???? ??? ****** ******************************************** ******* *****

    //?????? : ??, ??, ?? 6~20?? ?? ??

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

    w: ??, ?? ?? ?? ??? ????? ? ?????.

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

    //?? ?? ?? ? ?? ??: "+" ?? ??? ??? ? ?? "-" ? "

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

    d: 0?? 9??? ??? ????? ? ?????.

    “?”元字符規(guī)定其前導(dǎo)對象必須在目標(biāo)對象中連續(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] :估計是中文字符集的范圍吧

    以上表達(dá)式均在下面的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ī)則表達(dá)式 :


     <input type="input" name="regxStr" value="" > (填寫/ /之間的表達(dá)式)
    <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á)式應(yīng)用

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

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

    "^((-\d+)|(0+))$"  //非正整數(shù)(負(fù)整數(shù) + 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-]+)+$"    //??? ??

    "^[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+(\.\d+)?$ //值類型正則表達(dá)式

    5.javascript正則表達(dá)式檢驗

    //校驗是否全由數(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
    }

    //校驗手機(jī)號碼:必須以數(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
    }

    //校驗搜索關(guān)鍵字

    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+$"  //非負(fù)整數(shù)(正整數(shù) + 0)?

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

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

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

    "^-?\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+)?$" //?? ??? number

    "^[A-Za-z]+$" //?? 26?? ??? ???

    "^[A-Z]+$" //?? ??? 26?? ??? ???

    " ^[a-z] +$" // ?? ??? 26?? ??? ???

    "^[A-Za-z0-9]+$" // ??? ?? 26?? ??? ???

    " ^ \w+$" //??, ?? 26? ?? ??? ??? ???

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

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

    ?? ???? ???? ???? ?? ?????. ?? ??? ???? ? ??? ??? ????.

    ? ??? js ???? ?? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

    ? ????? ??
    ? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

    ? AI ??

    Undresser.AI Undress

    Undresser.AI Undress

    ???? ?? ??? ??? ?? AI ?? ?

    AI Clothes Remover

    AI Clothes Remover

    ???? ?? ???? ??? AI ?????.

    Video Face Swap

    Video Face Swap

    ??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

    ???

    ??? ??

    ???++7.3.1

    ???++7.3.1

    ???? ?? ?? ?? ???

    SublimeText3 ??? ??

    SublimeText3 ??? ??

    ??? ??, ???? ?? ????.

    ???? 13.0.1 ???

    ???? 13.0.1 ???

    ??? PHP ?? ?? ??

    ???? CS6

    ???? CS6

    ??? ? ?? ??

    SublimeText3 Mac ??

    SublimeText3 Mac ??

    ? ??? ?? ?? ?????(SublimeText3)

    ???

    ??? ??

    ??? ????
    1601
    29
    PHP ????
    1502
    276
    ???
    ??? JavaScript ????: HTTP ?? ??? ?? ?? ??? JavaScript ????: HTTP ?? ??? ?? ?? Jan 05, 2024 pm 06:08 PM

    JavaScript ????: HTTP ?? ??? ?? ??, ?? ?? ??? ?????. ??: ? ????? ???? ??? ?? ??? ?? ?????. ??? ??? ? ??? HTTP ?? ??? ???? ??? ?? ??? ???? ??? ?? ??? ?? ?? ??? ???? ?? ??? ????. ? ????? JavaScript? ???? HTTP ?? ??? ?? ??? ? ?? ???? ?? ??? ?????. XMLHttpRequest ??

    PHP ??? ??? ??: ?? ?? ?? PHP ??? ??? ??: ?? ?? ?? Mar 21, 2024 am 09:45 AM

    PHP ??? ??: ?? ?? ?? PHP ????? ??? ? ???? ??? ???? ???? ?? ??? ?? ????. ???? ?? ? ??? ???? ??? ?? ??? ????? ???? ????. PHP??? ???? ???? ??? ??? ??? ??? ??? ? ????. ? ????? PHP ???? ???? ?? ??? ???? ???? ?? ??? ???? ??? ?????. ?? ???? ?? ?? ??? ?? ?? ??? ???????. ??: 0~9? ??? ???? ??? ?? ?? ??? ??? ? ??? ???? ???? ????. ?? ???

    Go?? ???? ???? ?????? ????? ??? ?????? Go?? ???? ???? ?????? ????? ??? ?????? Jun 02, 2024 am 09:00 AM

    Go??? ???? ???? ?????? ???? ? ????. ISO8601 ?????? ????? ? ???? ?? ?? ??? ???? ??????. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString ??? ???? ???? ???? ????? ?????.

    ???? ???? Golang?? ??? ??? ???? ??? ?????? ???? ???? Golang?? ??? ??? ???? ??? ?????? May 31, 2024 pm 01:04 PM

    ???? ???? Golang?? ??? ??? ????? ?? ??? ????. regexp.MustCompile? ???? ??? ??? ?? ??? ???? ??? ??? ????. MatchString ??? ???? ???? ??? ????? ?????. ? ??? ??? ???? ???? ??? ??? ?? ??? ????. ?? ??? ???? ??, ?? ? ?? ??? ??? ? ????: !.#$%&'*+/=?^_{|}~-`??? ???? ??? ??? ????? ???. ?? 1? ?? ??, ?? ?? ???? ???. ??? ???(TLD)? ??? 63?? ??? ? ????.

    Go?? ???? ???? ????? ???? ??? ?????? Go?? ???? ???? ????? ???? ??? ?????? Jun 02, 2024 pm 07:31 PM

    Go?? ???? ???? ????? ???? ??? ??? ????. ?? ???? ?? ??(???, ???, ??, ?? ??? ???? 8? ??)? ???? ??? ??? ?????. regexp ???? MustCompile ??? ???? ??? ??? ??????. MatchString ???? ???? ?? ???? ??? ??? ????? ??????.

    ?? ???: PHP ??? ?? ?? ???: PHP ??? ?? Mar 24, 2024 pm 04:48 PM

    PHP? ?? ???? ????? ???? ?? ? ?? ???? ?? ?????. ? ?? ???? ??? ???? ??? ???? ????? ???? ?? ??? ?? ???, ? ? ?? ???? ?? ??? ?????. ? ????? PHP?? ???? ???? ??? ?? ???? ???? ??? ???? ???? ?? ??? ?????. ?? ??? ???? ??? u4e00?? u9fa5??, ? ?? ??? ? ??? ???? ?? ??? ? ??? ??.

    Golang ??? ?? ??? Golang ??? ?? ??? Apr 08, 2024 pm 02:15 PM

    Go? ???? ??? ??? ?? ??? ?????. ??? ???? regexp ???? ?????. ??? ??? ???? ???? ????? ?????. ?? ???, ?? ??, ???, ?? ? ??? ??????. MatchString?? ???? ?????, FindStringSubmatch? ?? ??? ????, ???? ???AllString?? ????. ?? ???? ?????? ??? ?? ??, HTML ?? ?? ?? ?????.

    PHP ???: ?? ??? ??? ?? ? ?? PHP ???: ?? ??? ??? ?? ? ?? Feb 28, 2024 pm 01:03 PM

    PHP ???: ??? ?? ? ?? ?? ?? ???? ?????? ???? ??? ? ???? ??, ??? ? ???? ???? ? ??? ?? ??? ??? ?? ?????. PHP??? ???? ??? ?? ? ??? ??? ?? ?????. ? ????? PHP?? ??? ??? ???? ?? ?? ??? ???? ??? ??? ?? ???? ?? ??? ?? ?????. ?? ?? ?? ??? ???? ?? ??? ?? ??? ??? ???? ???? ???? ?? ?????.

    See all articles