js正則表達式
什么叫正則表達式
正則表達式,又被稱為標(biāo)準(zhǔn)關(guān)系式。(英文:Regular Expression,在編碼中常會縮寫為regex、regexp或RE),電子信息科學(xué)的一個定義。正則表達式表通常被用于查找、更換這些合乎某一方式(標(biāo)準(zhǔn))的文字。
很多程序設(shè)計語言都適用運用正則表達式開展字符串實際操作。例如,在Perl中就內(nèi)建了一個功能齊全的正則表達式模塊,也有java語言內(nèi)置的。正則表達式這一定義最開始是由Unix中的軟件工具(例如sed和grep)普及化開的。正則表達式通常縮寫成“regex”,奇數(shù)有regexp、regex,單數(shù)有regexps、regexes、regexen。
javascript的17種正則表達式
"^\\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 $" //整數(shù)金額
"^\\d (\\.\\d )?$" //非負(fù)浮點數(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ù)(負(fù)浮點數(shù) 0)
"^(-(([0-9] \\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9] )|([0-9]*[1-9][0-9]*)))$" //負(fù)浮點數(shù)
"^(-?\\d )(\\.\\d )?$" //浮點數(shù)
"^[A-Za-z] $" //由26個英文字母構(gòu)成的字符串
"^[A-Z] $" //由26個英文字母的英文大寫構(gòu)成的字符串
"^[a-z] $" //由26個英文字母的小寫字母構(gòu)成的字符串
"^[A-Za-z0-9] $" //由數(shù)據(jù)和26個英文字母構(gòu)成的字符串
"^\\w $" //由數(shù)據(jù)、26個英文字母或是下橫線構(gòu)成的字符串
"^[\\w-] (\\.[\\w-] )*@[\\w-] (\\.[\\w-] ) $" //email詳細(xì)地址
"^[a-zA-z] ://(\\w (-\\w )*)(\\.(\\w (-\\w )*))*(\\?\\S*)?$" //url
在js中界定正則表達式非常簡單,有這兩種方法,一種是根據(jù)構(gòu)造方法,一種是根據(jù)//,也就是2個斜線。
例如:var re =new RegExp("\\?(\\w{1,}=\\w{1,}&){1,}\\w{1,}=\\w{1,}");
應(yīng)用構(gòu)造方法界定正則表達式,留意大小寫字母,承擔(dān)便會失靈。因為構(gòu)造方法的主要參數(shù)是一個字符串,還可以是2個斜線的形式界定,碰到一些特殊符號就要應(yīng)用\開展轉(zhuǎn)譯
根據(jù)雙斜線的形式界定一樣的正則表達式
編碼如下所示:var re =/\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
編碼如下所示:var re =new RegExp( /^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/);可以和構(gòu)造方法做到一樣的實際效果,但具體分析,發(fā)覺,根據(jù)構(gòu)造方法必須越來越多的轉(zhuǎn)義字符\