[英]Php form validation, Post
這是表格的標題。
<form action="/page" id="landing_form" method="post" style="top:<?php echo get_post_meta($p->ID, 'top', true); ?>px; left:<?php echo get_post_meta($p->ID, 'left', true); ?>px;" >
在我的表單中有一個簡單的文本字段,然后提交按鈕
<label>Email</label><input type="text" value="" id="landing_email" name="email" >
<input type="submit" name="submit" value="<?php echo get_post_meta($p->ID, 'button', true); ?>" class="landing_submit" id="landing_submit">
現在,我將如何創建一個函數來檢查電子郵件中是否包含“。” /“ @”? 還是一個特定的字符串。
我已嘗試在標頭中放置類似onSubmit="return function('email);"
然后將函數放入文件中。
但是,它甚至不檢查功能,而只是提交表單。
假設你想客戶端驗證,你必須創建一個JavaScript函數就像這個崗位
因此,您將需要您的方法:
<script>
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function validate(email) {
if (!validateEmail(email)) {
return false;
}
}
</script>
然后在表格上插入:
onSubmit="validate(email);"
如果電子郵件無效,則不應提交表單。 請注意,您還必須在服務器端驗證電子郵件。
當按下“提交”按鈕時, “ onSubmit”屬性將調用一段javascript。 它根本不與您的PHP交互。
您可能需要在“頁面”頁面中執行以下操作:
<?php
if(isset($_POST['submit']))
{
$email = $_POST['email'];
if(strpos($email, '@') && strpos($email, '.') && strpos($email, 'some specific string'))
{
// This code executes
// only if there is an @
// and a full stop and "some specific string"
// inside the email
}
}
?>
Strpos是一個函數,它在字符串中搜索子字符串並返回其第一次出現的位置。 如果找不到子字符串,則返回false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.