= 'A' && substr(($astr1[$i] . " "),0,1) <= 'Z') { if (substr(($astr1[$i] . " "),0,3) != substr(($astr2[$i] . " "),0,3)) { return false; } } else if (substr(($astr1[$i] . " "),0,1) >= '0' && substr(($astr1[$i] . " "),0,1) <= '9') { if ($astr1[$i] != $astr2[$i]) { return false; } } } return true; } $form="








0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:8%;' placeholder='Date Y-m-d h:i:s' title='/\d{4}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='Y-d-m h:i:s' title='/\d{4}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='Y-M-d h:i:s' title='/\d{4}(-\[A-Z][a-z][a-z]+(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='Y-d-M h:i:s' title='/\d{4}(-\d{2}(-\[A-Z][a-z][a-z]+( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='y-m-d h:i:s' title='/\d{2}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='y-d-m h:i:s' title='/\d{2}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='y-M-d h:i:s' title='/\d{2}(-\[A-Z][a-z][a-z]+(-\d{2}(-\d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='y-d-M h:i:s' title='/\d{2}(-\d{2}(-\[A-Z][a-z][a-z]+(-\d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\-/g,' ').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\-/g,' ').replace(/\,/g,' ').replace(/\//g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='m d Y h:i:s' title='/\d{2}( \d{2}( \d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\-/g,' ').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\-/g,' ').replace(/\,/g,' ').replace(/\//g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='d m Y h:i:s' title='/\d{2}( \d{2}( \d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\-/g,' ').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\-/g,' ').replace(/\,/g,' ').replace(/\//g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='m d y h:i:s' title='/\d{2}( \d{2}( \d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\-/g,' ').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\-/g,' ').replace(/\,/g,' ').replace(/\//g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='d m y h:i:s' title='/\d{2}( \d{2}( \d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=>
0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:8%;' placeholder='Date m/d/Y h:i:s' title='/\d{2}(-\d{2}(-\d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='d/m/Y h:i:s' title='/\d{2}(-\d{2}(-\d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='M/d/Y h:i:s' title='/[A-Z][a-z][a-z]+(-\d{2}(-\d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='d/M/Y h:i:s' title='/\d{2}(-\[A-Z][a-z][a-z]+(-\d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='m/d/y h:i:s' title='/\d{2}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,'-').replace(/\,/g,'-'); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,'-'); }\" style='width:6%;' placeholder='d/m/y h:i:s' title='/\d{2}(-\d{2}(-\d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='M d Y h:i:s' title='/[A-Z][a-z][a-z]+( \d{2}( \d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='M d y h:i:s' title='/[A-Z][a-z][a-z]+( \d{2}( \d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='d M Y h:i:s' title='/\d{2}( [A-Z][a-z][a-z]+( \d{4}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=> 0) { document.getElementById('datehidden').value=this.value.replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); document.getElementById('dateregexp').value=this.title; document.getElementById('datephp').value=this.placeholder.replace('Date ','').replace(/\//g,' ').replace(/\,/g,' ').replace(/\ \ /g,' '); }\" style='width:6%;' placeholder='d M y h:i:s' title='/\d{2}( [A-Z][a-z][a-z]+( \d{2}( \d{2}(:\d{2}(:\d{2})?)?)?)?)?/' type=text value=>


"; if (isset($_GET['astring'])) { echo "

PHP Form Validation via Filter Extension

RJM Programming - February, 2019

"; $prevar=base64_decode(urldecode($_GET['astring'])); if ($prevar == '') { echo "

No String.

"; } else { $var=filter_var($prevar, FILTER_SANITIZE_STRING); if ($var == $prevar) { echo "

Valid String " . $var . "

"; } else { echo "

Sanitized String " . $var . " (derived from " . str_replace("<","<",str_replace(">",">",$prevar)) . ")

"; } } $prevar=base64_decode(urldecode($_GET['afloat'])); if ($prevar == '') { echo "

No Float.

"; } else if (str_replace("-","",str_replace("0","",str_replace(".","",$prevar))) == "" || !filter_var($prevar, FILTER_VALIDATE_FLOAT) === false) { echo "

Valid Float " . $prevar . "

"; } else { echo "

Invalid Float " . $prevar . "

"; } $prevar=base64_decode(urldecode($_GET['aninteger'])); if ($prevar == '') { echo "

No Integer.

"; } else if (filter_var($prevar, FILTER_VALIDATE_INT) === 0 || !filter_var($prevar, FILTER_VALIDATE_INT) === false) { echo "

Valid Integer " . $prevar . "

"; } else { echo "

Invalid Integer " . $prevar . "

"; } $prevar=base64_decode(urldecode($_GET['anip'])); if ($prevar == '') { echo "

No IP address.

"; } else if (!filter_var($prevar, FILTER_VALIDATE_IP) === false) { echo "

Valid IP address " . $prevar . "

"; } else { echo "

Invalid IP address " . $prevar . "

"; } $prevar=base64_decode(urldecode($_GET['anemail'])); if ($prevar == '') { echo "

No Email.

"; } else if (!filter_var($prevar, FILTER_VALIDATE_EMAIL) === false) { echo "

Valid Email " . $prevar . "

"; } else { echo "

Invalid Email " . $prevar . "

"; } $prevar=base64_decode(urldecode($_GET['aurl'])); if ($prevar == '') { echo "

No Url.

"; } else { $var=filter_var($prevar, FILTER_SANITIZE_URL); if (!filter_var($var, FILTER_VALIDATE_URL) === false) { if ($var == $prevar) { echo "

Valid Url " . $var . "

"; } else { echo "

Sanitized Url " . $var . " (derived from " . str_replace("<","<",str_replace(">",">",$prevar)) . ")

"; } } else { echo "

Invalid Url " . $prevar . "

"; } } $prevar=base64_decode(urldecode($_GET['abool'])); if ($prevar == '') { echo "

No Boolean.

"; } else if ($prevar == "false" || !filter_var($prevar, FILTER_VALIDATE_BOOLEAN) === false) { echo "

Valid Boolean " . $prevar . "

"; } else { echo "

Invalid Boolean " . $prevar . "

"; } $prevar=base64_decode(urldecode($_GET['amagicquotes'])); if ($prevar == '') { echo "

No Magic Quotes.

"; } else { $var=filter_var($prevar, FILTER_SANITIZE_MAGIC_QUOTES); if ($var == $prevar) { echo "

Valid Magic Quotes " . $var . "

"; } else { echo "

Sanitized Magic Quotes " . $var . " (derived from " . str_replace("<","<",str_replace(">",">",$prevar)) . ")

"; } } $prevar=base64_decode(urldecode($_GET['datehidden'])); // thanks to https://www.w3schools.com/php/filter_validate_regexp.asp if ($prevar == '') { echo "

No Date " . base64_decode(urldecode($_GET['datephp'])) . ".

"; } else if (!filter_var($prevar, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>base64_decode(urldecode($_GET['dateregexp']))))) === false) { try { $otheridea=false; $pia=explode(" ",$prevar)[0]; $via=explode(" ",base64_decode(urldecode($_GET['datephp'])))[0]; if (sizeof(explode(" ", base64_decode(urldecode($_GET['datephp'])))) > 2) { $via=explode(" ",base64_decode(urldecode($_GET['datephp'])))[0] . ' ' . explode(" ",base64_decode(urldecode($_GET['datephp'])))[1] . ' ' . explode(" ",base64_decode(urldecode($_GET['datephp'])))[2]; $pia=explode(" ",$prevar)[0] . ' ' . explode(" ",$prevar)[1] . ' ' . explode(" ",$prevar)[2]; $date = date_create_from_format($via, $pia); if ($date) { $otheridea=strpos(('' . date_format($date, $via)),$pia); } } else { $date = date_create_from_format($via, $pia); } if (('' . date_format($date, $via)) == '') { echo "

Invalid Date " . base64_decode(urldecode($_GET['datephp'])) . " " . $prevar . "

"; } else if (ourstrpos(('' . date_format($date, $via)),$pia) !== false || $otheridea !== false) { echo "

Valid Date " . base64_decode(urldecode($_GET['datephp'])) . " " . $prevar . "

"; } else { echo "

Invalid Date " . base64_decode(urldecode($_GET['datephp'])) . " " . $prevar . "

"; } } catch (Exception $ee) { echo "

Invalid Date " . base64_decode(urldecode($_GET['datephp'])) . " " . $prevar . "

"; } } else { echo "

Invalid Date " . base64_decode(urldecode($_GET['datephp'])) . " " . $prevar . "

"; } echo "

" . $form . ""; } else { echo "

PHP Form Validation via Filter Extension

RJM Programming - February, 2019

" . $form . ""; } ?>