1. 程式人生 > >【php】正則驗證字串是否為數字

【php】正則驗證字串是否為數字

方法一

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

<? 

if($str) { 

	if(eregi("^[0-9]+$",$str)) { 

		$str=(int)$str; 

	} else { 

		echo "獲取到的資料不是有效的數字型別,操作將停止!"; 

		exit(); 

	} 

} else { 

	echo "需要驗證的資料為空,操作停止!"; 

	exit(); 

} 

?>

方法二

建議大家對關鍵的引數必須做過濾。如數字正則過濾

if (preg_match("/^\d*$/",$fgid)) {
	echo('是數字'); 
} else {
	echo('不是數字'); 
}

或者用函式 

if(is_numeric($fgid)){
	echo('是數字'); 
} else {
	echo('不是數字');
}

這兩種方法的區別是  is_numeric小數也會認為是數字,而前面正則會把小數點當作字元。  

附一些常用的正則運算:  

驗證數字:^[0-9]*$ 

驗證n位的數字:^\d{n}$

驗證至少n位數字:^\d{n,}$ 

驗證m-n位的數字:^\d{m,n}$ 

驗證零和非零開頭的數字:^(0|[1-9][0-9]*)$

驗證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$ 

驗證有1-3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$ 

驗證非零的正整數:^\+?[1-9][0-9]*$ 

驗證非零的負整數:^\-[1-9][0-9]*$ 

驗證非負整數(正整數 + 0)  ^\d+$ 

驗證非正整數(負整數 + 0)  ^((-\d+)|(0+))$ 

驗證長度為3的字元:^.{3}$ 

驗證由26個英文字母組成的字串:^[A-Za-z]+$ 

驗證由26個大寫英文字母組成的字串:^[A-Z]+$ 

驗證由26個小寫英文字母組成的字串:^[a-z]+$ 

驗證由數字和26個英文字母組成的字串:^[A-Za-z0-9]+$ 

驗證由數字、26個英文字母或者下劃線組成的字串:^\w+$ 

驗證使用者密碼:^[a-zA-Z]\w{5,17}$ 正確格式為:以字母開頭,長度在6-18之間,只能包含字元、數字和下劃線。 

驗證是否含有 ^%&‘,;=?$\” 等字元:[^%&‘,;=?$\x22]+ 

驗證漢字:^[\u4e00-\u9fa5],{0,}$ 

驗證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 

驗證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 

驗證電話號碼:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:–正確格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 

驗證身份證號(15位或18位數字):^\d{15}|\d{}18$ 

驗證一年的12個月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12” 

驗證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$    正確格式為:01、09和1、31。 整數:^-?\d+$ 

非負浮點數(正浮點數 + 0):^\d+(\.\d+)?$ 

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

非正浮點數(負浮點數 + 0) ^((-\d+(\.\d+)?)|(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+)? 

(轉)


相關推薦

php驗證字串是否數字

方法一 php中利用正則表示式驗證字串是否為數字一件非常容易的事情,最主要的是如何寫好正則表示式以及掌握正則表示式的寫法,在此利用正則表示式的方式來列舉一下判斷數字的方法。 <? if($str) { if(eregi("^[0-9]+$",$str))

PHP表示式判斷網址是否帶http://或https://

// 匹配http(s)的表示式 $preg = "/^http(s)?:\\/\\/.+/"; 示例: $url = "https://www.baidu.com/"; $preg = "/^http(s)?:\\/\\/.+/"; if(preg_match($preg,$

PHP表示式匹配標籤

// 匹配<img>標籤的表示式 $preg = "/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/i"; 示例: $img='<div class="div">

PHP表示式匹配最後一張圖片並替換

// 要搜尋的內容 $content = '<div class="div"><img class="img" width="200" height="100" src="./../images/img1.jpg" /> <img class="img" w

php表示式提取img的src

先上程式碼: <?php $pattern='/<img((?!src).)*src[\s]*=[\s]*[\'"](?<src>[^\'"]*)[\'"]/i'; $st

JavaScript表示式--非貪婪模式擷取任意字串的筆記

場景要將下面的字串擷取兩個{title:***,url:***}來。12345<script>{title:'RegExp 物件參考手冊',url:'http://sodino.com/regexp.asp'},{title:'w3cSchool script', url:'http://www.

Python表達式1(未完)

pes mmu get regular rop 則表達式 line out github 1、正則表達式唯一的用途就是在文本中匹配和尋找模式,模式可以簡單,也可以復雜。 2、Regexr 這個網站很個性的就是,有一個community標簽,打開後可以看到評分由高到低

化相關鏈接

blog class bsp src rop 折疊 img detail link 正則化,歸一化的概念 基於Matlab介紹正則化方法 正則化方法:L1和L2 regularization、數據集擴增、dropout 基於Matlab介紹機器學習中的正則化,理解

轉載表達式

屬性 mark 可能 表達式 控制 回車符 空白 ^c 開始與結束 【轉載】http://www.runoob.com/regexp/regexp-syntax.html 正則表達式 - 語法 正則表達式(regular expression)描述了一種字符串匹配的模式(

javascript表達式match、exec和test的使用

p s 下標 mat http [0 使用 regex es2017 false 正則表達式match、exec和test的使用 match和exec在匹配成功時返回的都是數組,在沒有匹配上時返回的都是null;test在匹配成功是返回true,在沒有匹配時返回的是fals

python-表達式

() 兩個 表達 9.png 匹配 斜杠 clas image 技術 匹配時每一個子項都要用括號括起來。 re.split()分割 count=2代表只替換前兩個數字 匹配反斜杠 【python】-正則表達式

Python表達式

代碼 ... ack Go 當我 log 精確 不用 分代 說明:本文主要是根據廖雪峰網站的正則表達式教程學習,並根據需要做了少許修改,此處記錄下來以備後續查看。 0x01 正則表達式概念及符號含義 掌握正則表達式,只需要記住不同符號所表示的含義,以及對目標對象模式(或

shell表達式

alt blog 溫度 can href aci txt cnblogs ble 當一個文件或命令輸出中抽取或過濾文本時,可以使用正則表達式(RE),正則表達式是一些特殊或很不特殊的字符串模式的集合。 在Linux中grep、awk、sed均可解釋正則 1.基本元字符集

PHP從2個字串找到相同的部分,展示最長的字串

思路: 最容易想到的方法,是把第一個字串按順序擷取,與第二個字串對比,存在則寫入陣列,最後再從陣列找到重複之中最長的那個輸出 字串1:/a/b/c/?.oietr?e/f/g/zwty.cn 字串2:/a/b/c/awp.neeg/e/f/g/zxtn.cc $str1 = '/a/b/c/?

表示式–零寬斷言詳解

零寬斷言的意思是(匹配寬度為零,滿足一定的條件/斷言) 我也不知道這個詞語是那個王八蛋發明的,簡直是太拗口了。  零寬斷言用於查詢在某些內容(但並不包括這些內容)之前或之後的東西,也就是說它們像\b,^,$那樣用於指定一個位置,這個位置應該滿足一定的條件(即斷言),因此它

spider03表示式

什麼是正則表示式 正則表示式是對字串操作的一種邏輯公式,就是用實現定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。 非Python獨有,re模組實現 常見匹配模式 ^ 匹配字串的開頭 $ 匹配字串

簡單 ajax+php驗證

HTML 登錄檔單 <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; cha

匹配函式——regcomp和regexec

標準的C和C++都不支援正則表示式,但有一些函式庫可以輔助C/C++程式設計師完成這一功能,其中最著名的當數Philip Hazel的Perl-Compatible Regular Expression庫,許多Linux發行版本都帶有這個函式庫。 C語言處理正則表示式常用的函式有regco

驗證姓名中文(包含生僻字)

target href nbsp org http 表達式 ont 參考 code 1.常見的中文 \u4e00-\u9fbb 和 \u4e00-\u9fa5 (不包含生僻字) 2.比較廣泛的中文漢字。(包含了咱們需要的生僻字 和 不需要的很多字符 比如 中文句號分號逗

PHP常用驗證

手機號,身份證,ip驗證 //正則驗證手機號 正確返回 true function preg_mobile($mobile) { if(preg_match("/^1[34578]\d{9}$/", $mobile)) { return TRUE; } else {