正規表示式在PHP裡的應用

smileNicky發表於2016-03-15

這個程式實現的是用正規表示式實現登入驗證的一個Demo


<1>:
<?php 
if(isset($_POST["sub"])){
	$text=$_POST["text"];
	$patten='^[0-9]*$';
	if(!preg_match($patten,$text,$x)){
	echo"<script>alert('使用者沒有輸入數字');</script>";
}else{
		if($x<1){
			$y=$x;
			echo "y=".$y."<br>";
		}else if($x<10){
			$y=2*$x-1;
			echo
			 "y=".$y."<br>";
		}else{
			$y=3*$x-11;
			echo "y=".$y."<br>";
		}	
}
?>
<html>
<head>
</head>
<body>
<form method='post'>
請輸入資訊:<input type="text"name="text">
<input type="submit"name="sub"value="提交">

</form>
</body>
</html>



<2>:
<html>
<head>
</head>
<body>
<form method='post'>
註冊賬號:<input type="text"name="aNum"><br>
登入密碼:<input type="password"name="pwd"><br>
重複密碼:<input type="password"name="rPwd"><br>
郵箱地址:<input type="text"name="email"><br>
手機號碼:<input type="text"name="tel"><br>
<input type="submit"name="sub"value="註冊">
<?php 
if(isset($_POST["sub"])){
	$aNum=$_POST["aNum"];
	$pwd=$_POST["pwd"];
	$rPwd=$_POST["rPwd"];
	$email=$_POST["email"];
	$tel=$_POST["tel"];
	$patten1="^\w+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";//驗證郵箱
	$patten2="[0-9]{11}";//11位數字組成,驗證手機號碼
	$patten3="[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"//驗證賬號
	if(!preg_match($patten3,$aNum)){
		echo"<script>alert('賬號格式不對');</script>";
	}else{
		if($pwd.length<6){
			echo"<script>alert('密碼格式不對');</script>";
		}else{
			if(!preg_match($patten,$email)){
				echo"<script>alert('email格式不正確');</script>";
			}else{
			if(!preg_match($patten2,$tel)){
				echo"<script>alert('手機號碼格式不正確');</script>";
			}else{
				if(strlen($pwd)!=strlen($rPwd)){
					echo"<script>alert('兩次密碼不一致');</script>";
				}else{
					echo"使用者您好!您的賬號為:".$aNum.",密碼為:".$pwd.",郵箱為:".
					$email.",手機號碼為:".$tel;
				}
			}
		}
	}
}	

?>
</form>
</body>
</html>



相關文章