这是我表单的标题。
<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);"
之类的内容,然后将该函数放入文件中。
然而,它甚至不检查函数,只是提交表单。
答案 0 :(得分:0)
假设您需要客户端验证,则必须创建一个javascript函数,如此post
因此你需要你的方法:
<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);"
如果电子邮件无效,则不应允许表单提交。 请注意,您还必须在服务器端验证电子邮件。
答案 1 :(得分:0)
&#34; onSubmit&#34; 属性在按下提交按钮时调用一段javascript。它根本不与您的PHP进行交互。
您在&#34;页面中可能想要的内容&#34;页面如下所示:
<?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。