Javascript和PHP正则表达式验证

Javascript和PHP正则表达式验证,php,javascript,regex,validation,Php,Javascript,Regex,Validation,我正在我的网站上制作一个表单,但是我有一个2个正则表达式的问题。 (我有一个PHP正则表达式和一个JS正则表达式,因为我读到只有javascript是危险的) 首先是PHP $name = mysql_real_escape_string($_POST['name']); if(strlen($name) < 2 || strlen($name) > 20 || preg_match('#[0-9]#',$name))

我正在我的网站上制作一个表单,但是我有一个2个正则表达式的问题。 (我有一个PHP正则表达式和一个JS正则表达式,因为我读到只有javascript是危险的)

首先是PHP

$name = mysql_real_escape_string($_POST['name']);
                    if(strlen($name) < 2 || strlen($name) > 20 || preg_match('#[0-9]#',$name))
                    {   
                        echo '<p class="center"> je naam: <b> '.$name.' </b>  bevat cijfers en/of mag niet korter zijn dan 2 tekens en niet langer zijn dan 20 tekens. </p>';                   
                        echo '<p class="center"> <a href="javascript:history.go(-1);">Ga terug</a></p> ';
                    }
在这里,我想要同样的东西,并验证检查空度、长度和否#$^&

对于电子邮件验证,我需要另一个正则表达式,但我稍后会搜索该正则表达式

问候乔希姆

如果您看到错误,请编辑

编辑:

var-re和var-regex是我找到的电子邮件regex。 但是为什么它们不起作用呢?如果有人给我一个好的解释,因为我不太好

函数检查表单(表单)
{
var rex=/[^a-z]/i;
变量正则表达式=/^([a-zA-Z0-9\.\-])+\@([a-zA-Z0-9\-])+\)+([a-zA-Z0-9]{2,4})+$/;
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
if(regex.test(form.email.value))
{
提醒(“请输入您的电子邮件地址”);
form.email.focus();
返回false;
}
if(重复测试(形式名称值))
{
警告(“请输入您的姓名。不允许使用数字或#$^&事物)。”;
form.name.focus();
返回false;
}
返回true;
}

如果您只想接受信件,请使用
/[^a-z]/i
。您可以在PHP和JavaScript中使用此正则表达式。

我建议您使用类似jQuery的JavaScript框架,并使用jQuery验证插件。这将为您提供在所有浏览器上测试过的出色客户端验证,尤其是当我涉及到特定验证时,例如电子邮件、URL、(荷兰)邮政编码,还提供了额外的正则表达式可能性和服务器端验证码验证等:以及演示:谢谢。我稍后会看这个,这是一个练习。你的电子邮件正则表达式测试电子邮件是否有效,所以你需要在
时触发错误!regex.test()
function checkform ( form )
    {
        if (form.name.value == "") 
        {
            alert( "Please enter your name." );
            form.name.focus();
            return false ;
        }

        if (form.email.value == "")
        {
            alert( "Please enter your email address." );
            form.email.focus();
            return false ;
        }

        return true ;
    }
function checkform ( form )
    {
        var rex = /[^a-z]/i;
        var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        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,}))$/;

        if (regex.test(form.email.value))
        {
            alert( "Please enter your email address." );
            form.email.focus();
            return false ;
        }

        if (rex.test(form.name.value)) 
        {
            alert( "Please enter your name. no numbers or #$^& things allowed)." );
            form.name.focus();
            return false ;
        }

        return true ;
    }