1
我有一個客戶端驗證和一些服務器驗證(正則表達式)的HTML表單。 但我不能得到正則表達式與html表單一起工作,並且可以在沒有任何輸入的情況下提交表單。我一直堅持這幾個小時,啊。任何能理解爲什麼?無法讓我的正則表達式來驗證我的HTML表格
這是HTML表單
<form action="brukerinfo.php" method="post" name="kontaktskjema" id="kontaktskjema">
<h3>Registrer din informasjon her</h3>
<div>
<label>
<span>Fornavn: (påkrevd)</span>
<input name="fornavn" id="fornavn" placeholder="Fornavn" type="text" tabindex="1" pattern="^[a-zA-ZæøåÆØÅ]{2,}$"
title="Fornavn er påkrevd, og må være minst 2 tegn" required autofocus>
</label>
</div>
<div>
<label>
<span>Etternavn: (påkrevd)</span>
<input name="etternavn" id="etternavn" placeholder="Etternavn" type="text" tabindex="2" pattern="^[a-zA-ZæøåÆØÅ]{2,}$"
title="Etternavn er påkrevd, og må være minst 2 tegn og kan ikke bestå av mellomrom" required>
</label>
</div>
<div>
<label>
<span>Email:</span>
<input name="email" id="email" type="email" placeholder="Skriv inn din mailadresse" tabindex="3">
</label>
</div>
<div>
<label>
<span>Telefon: (påkrevd) </span>
<input name="telefon" id="telefon" placeholder="Skriv inn ditt telefonnummer" type="tel" tabindex="4"
pattern="[0-9]{8}" title="Må bestå av 8 siffer" required>
</label>
</div>
<div>
<label>
<span>DOB:</span>
<input name="fdag" id="fdag" type="date" tabindex="5" required>
</label>
</div>
<div>
<button name="submit" type="submit" id="kontaktskjema-submit">Send inn</button>
</div>
</form>
</div>
</div>
enter code here
這個我正則表達式驗證,
<?
//preg_match for email
$email = $_POST['email'];
$emailregex = '[A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{2,4}';
if(isset($_POST['email'])) {
if (!preg_match($emailregex, $email)) {
echo 'invalid email';
}
}
//validating the phone number
$telefon = $_POST ['telefon'];
$telmatch = array('98979695' ,'97969594','90807090','90908080','40908070','45674849','46573823','45343456');
if(isset($_POST['telefon'])){
if(!preg_match($telefon, $telmatch)){
echo 'invalid phone number';
}
}
//validatin the date
$fdag = $_POST['fdag'];
if(isset($_POST['fdag'])) {
if(preg_match('/(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-^[0-9]{4}$/', $fdag))
{
if(date(Y, time()) - date(Y,strtotime($fdag)) > 16){
echo 'invalid date';
}
else
{
echo 'you have to be at least 16';
}
}
}
?>
所以驗證電子郵件在PHP中,你」迴應驗證錯誤,但您在哪裏處理它們? – ChristopheBrun
爲什麼您不使用語言提供的默認庫。至於jQuery你可以使用validate.js它會自動使你的生活。它可能如果你想在一個領域驗證然後它的好。但對於服務器端,我建議使用'PHP_FILTERS'來匹配電子郵件模式。 – Roopendra
好問題,哈哈。我在包含html表單的php文件中包含了php驗證文件。我如何處理表單中的回顯? – user2838805