怎么在PHP中利用正則驗(yàn)證字符串是否為數(shù)字?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
方法一:
php中利用正則表達(dá)式驗(yàn)證字符串是否為數(shù)字一件非常容易的事情,最主要的是如何寫(xiě)好正則表達(dá)式以及掌握正則表達(dá)式的寫(xiě)法,在此利用正則表達(dá)式的方式來(lái)列舉一下判斷數(shù)字的方法。
<? if($str) { if(eregi("^[0-9]+$",$str)) { $str=(int)$str; } else { echo "獲取到的數(shù)據(jù)不是有效的數(shù)字類(lèi)型,操作將停止!"; exit(); } } else { echo "需要驗(yàn)證的數(shù)據(jù)為空,操作停止!"; exit(); } ?>
方法二:
建議大家對(duì)關(guān)鍵的參數(shù)必須做過(guò)濾。如數(shù)字正則過(guò)濾
if(preg_match("/^\d*$/",$fgid)) echo('是數(shù)字'); else echo('不是數(shù)字');
或者用函數(shù)
if(is_numeric($fgid)) echo('是數(shù)字'); else echo('不是數(shù)字');[/code]這兩種方法的區(qū)別是 is_numeric小數(shù)也會(huì)認(rèn)為是數(shù)字,而前面正則會(huì)把小數(shù)點(diǎn)當(dāng)作字符。
附一些常用的正則運(yùn)算:
驗(yàn)證數(shù)字:^[0-9]*$
驗(yàn)證n位的數(shù)字:^\d{n}$
驗(yàn)證至少n位數(shù)字:^\d{n,}$
驗(yàn)證m-n位的數(shù)字:^\d{m,n}$
驗(yàn)證零和非零開(kāi)頭的數(shù)字:^(0|[1-9][0-9]*)$
驗(yàn)證有兩位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{2})?$
驗(yàn)證有1-3位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{1,3})?$
驗(yàn)證非零的正整數(shù):^\+?[1-9][0-9]*$
驗(yàn)證非零的負(fù)整數(shù):^\-[1-9][0-9]*$
驗(yàn)證非負(fù)整數(shù)(正整數(shù) + 0) ^\d+$
驗(yàn)證非正整數(shù)(負(fù)整數(shù) + 0) ^((-\d+)|(0+))$
驗(yàn)證長(zhǎng)度為3的字符:^.{3}$
驗(yàn)證由26個(gè)英文字母組成的字符串:^[A-Za-z]+$
驗(yàn)證由26個(gè)大寫(xiě)英文字母組成的字符串:^[A-Z]+$
驗(yàn)證由26個(gè)小寫(xiě)英文字母組成的字符串:^[a-z]+$
驗(yàn)證由數(shù)字和26個(gè)英文字母組成的字符串:^[A-Za-z0-9]+$
驗(yàn)證由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:^\w+$
驗(yàn)證用戶密碼:^[a-zA-Z]\w{5,17}$ 正確格式為:以字母開(kāi)頭,長(zhǎng)度在6-18之間,只能包含字符、數(shù)字和下劃線。
驗(yàn)證是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
驗(yàn)證漢字:^[\u4e00-\u9fa5],{0,}$
驗(yàn)證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
驗(yàn)證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
驗(yàn)證電話號(hào)碼:^(\d3,4\d3,4|\d{3,4}-)?\d{7,8}$:–正確格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
驗(yàn)證身份證號(hào)(15位或18位數(shù)字):^\d{15}|\d{}18$
驗(yàn)證一年的12個(gè)月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12”
驗(yàn)證一個(gè)月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正確格式為:01、09和1、31。
整數(shù):^-?\d+$
非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0):^\d+(\.\d+)?$
正浮點(diǎn)數(shù) ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
負(fù)浮點(diǎn)數(shù) ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點(diǎn)數(shù) ^(-?\d+)(\.\d+)?
一、phpStudy,是一個(gè)新手入門(mén)最常用的開(kāi)發(fā)環(huán)境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡(jiǎn)單對(duì)小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個(gè)功能強(qiáng)大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務(wù)器管理軟件,支持windows和linux系統(tǒng)。六、UPUPW,UPUPW是目前Windows平臺(tái)下最具特色的Web服務(wù)器PHP套件。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
文章名稱(chēng):怎么在PHP中利用正則驗(yàn)證字符串是否為數(shù)字-創(chuàng)新互聯(lián)
瀏覽地址:http://jinyejixie.com/article18/gicgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站制作、網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、搜索引擎優(yōu)化、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容