因為網路上大多的檢查函數都不完整
所以自己寫了這個函數方便以後快速套用
驗證日期 格式:yyyy-mm-dd
"^[12][0-9]{3}-([0][1-9])|([1][12])-([0][1-9])|([12][0-9])|([3][01])$"
驗證時間 格式(24hr):hh:mm
"^([0-1][0-9])|([2][0-3]):[0-5][0-9]$"
Function is_email($str) //驗證 E-mail 格式 { if( ereg("^[A-Za-z0-9\.\-]+@[A-Za-z0-9]+\.[A-Za-z0-9\.]+$", $str)) { return 1; } else { return 0; } } Function is_tw_id($id) //驗證 身分證字號 格式 { //建立字母分數陣列 $head = array('A'=>10,'B'=>11,'C'=>12,'D'=>13,'E'=>14,'F'=>15, 'G'=>16,'H'=>17,'I'=>34,'J'=>18,'K'=>19,'L'=>20, 'M'=>21,'N'=>22,'O'=>35,'P'=>23,'Q'=>24,'R'=>25, 'S'=>26,'T'=>27,'U'=>28,'V'=>29,'W'=>32,'X'=>30, 'Y'=>31,'Z'=>33); //檢查身份字格式是否正確 if (ereg("^[A-Za-z][1-2][0-9]{8}$",$id)){ //切開字串 for($i=0; $i<10; $i++){ $idArray[$i] = substr($id,$i,1); } $idArray[0] = strtoupper($idArray[0]); //小寫轉大寫 //取得字母分數&建立加權分數 $a[0] = substr($head[$idArray[0]],0,1); $a[1] = substr($head[$idArray[0]],1,1); $total = $a[0]*1+$a[1]*9; //取得數字分數&建立加權分數 for($j=1; $j<=8; $j++){ $total += $idArray[$j]*(9-$j); } //檢查比對碼 if($total%10 == 0) { $checksum = 0; } else { $checksum = 10-$total%10; } if ($idArray[9] == $checksum) { return true; } else { return false; } return false; } }
全站熱搜