表單正則驗證及文件上傳驗證功能
表單正則驗證主要是用來對表單提交信息的過濾,防止sql注入(比如登錄界面),上傳的文件也需要進(jìn)行文件名后綴和大小進(jìn)行驗證,下面是一個簡單的表單驗證
header("Content-type:text/html;charset=utf-8"); $user = isset($_POST[‘user‘])?$_POST[‘user‘]:null; $password = isset($_POST[‘password‘])?$_POST[‘password‘]:null; $arr = array(‘png‘,‘gif‘,‘jpg‘); $uploads = move_uploaded_file($_FILES[‘face‘][‘tmp_name‘],‘uploads/‘.$_FILES[‘face‘][‘name‘]); $file = ‘uploads/‘.$_FILES[‘face‘][‘name‘]; if($uploads){ echo ‘上傳成功‘; } if(!preg_match("/^[\x{4e00}-\x{9fa5}]+$/u", $user)){ //正則檢查用戶名是否為全漢字組成 echo "用戶名只能由純漢字組成!"; die; }else if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$password)){ //正則檢查密碼是否含有非法字符 echo ‘密碼不能包含特殊字符!‘; die; }else if(!in_array(pathinfo($file, PATHINFO_EXTENSION),$arr)){ echo "文件格式不正確"; die; }else{ echo ‘允許注冊!‘; }
附常用php正則表達(dá)式:
匹配中國郵政編碼:[1-9]\d{5}(?!\d)
匹配身份證:\d{15}|\d{18}
匹配ip地址:\d+\.\d+\.\d+\.\d+
匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*
匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]
函數(shù):
preg_match():第一個參數(shù)為正則規(guī)則,第二個為被驗證的字符串,返回布爾值
preg_replace ():對一個字符串中附和正則規(guī)則的字符進(jìn)行字符替換
以上所述是小編給大家介紹的表單正則驗證及文件上傳驗證功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Java 使用正則表達(dá)式對象實現(xiàn)正則的獲取功能
這篇文章主要介紹了Java 使用正則表達(dá)式對象實現(xiàn)正則的獲取功能 ,需要的朋友可以參考下2018-04-04JavaScript中常用的正則表達(dá)式日常整理(全)
本篇文章是小編日常整理有關(guān)js常用的正則表達(dá)式,比較全面,對大家學(xué)習(xí)javascript正則表達(dá)式非常有用,需要的朋友一起學(xué)習(xí)吧2015-09-09在ASP中用正則表達(dá)式對象來校驗數(shù)據(jù)的合法性
我們在制作網(wǎng)站的時候,需要對用戶輸入的數(shù)據(jù)進(jìn)行驗證,前端是輔助用戶方便填寫,后端才是真正的安全過濾,正則表達(dá)式對于一些數(shù)據(jù)校驗都是比較常見的不只asp中需要,php也需要,這里腳本之家小白就為大家簡單介紹一下2006-06-06