怎么在PHP中利用正則驗(yàn)證字符串是否為數(shù)字-創(chuàng)新互聯(lián)

怎么在PHP中利用正則驗(yàn)證字符串是否為數(shù)字?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都服務(wù)器托管,成都創(chuàng)新互聯(lián)公司提供包括服務(wù)器租用、成都移動(dòng)云計(jì)算中心、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、空間域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108

方法一:


php中利用正則表達(dá)式驗(yàn)證字符串是否為數(shù)字一件非常容易的事情,最主要的是如何寫好正則表達(dá)式以及掌握正則表達(dá)式的寫法,在此利用正則表達(dá)式的方式來列舉一下判斷數(shù)字的方法。

<?
if($str)
{
  if(eregi("^[0-9]+$",$str))
  {
    $str=(int)$str;
  }
  else
  {
    echo "獲取到的數(shù)據(jù)不是有效的數(shù)字類型,操作將停止!";
    exit();
  }
}
else
{
  echo "需要驗(yàn)證的數(shù)據(jù)為空,操作停止!";
  exit();
}
?>

方法二:

建議大家對(duì)關(guān)鍵的參數(shù)必須做過濾。如數(shù)字正則過濾

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)證零和非零開頭的數(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è)大寫英文字母組成的字符串:^[A-Z]+$

  • 驗(yàn)證由26個(gè)小寫英文字母組成的字符串:^[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}$ 正確格式為:以字母開頭,長(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+)?

PHP開發(fā)環(huán)境搭建工具有哪些

一、phpStudy,是一個(gè)新手入門最常用的開發(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è)公司,的支持。

文章名稱:怎么在PHP中利用正則驗(yàn)證字符串是否為數(shù)字-創(chuàng)新互聯(lián)
瀏覽地址:http://bm7419.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í)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站