Javascript正则表达式无效

时间:2012-02-11 21:57:37

标签: javascript regex

有人可以重写这个javascript。现在的问题是1个正则表达式只能工作(那个来自电子邮件)

之前的问题:link 我在这里得到了建议,但我认为我在我的代码中说得不好

function checkform ( form )
{
    var rex = /[^a-z]/i;
    var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (!regex.test(form.email.value))
    {
        alert( "Please enter youre valid 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 ;
}

2 个答案:

答案 0 :(得分:0)

假设您希望两个表单字段的行为方式相同,则第一个表单字段的测试结果为负数。

你说电子邮件是有效的,所以也许你打算写if ( ! rex.test(for.name.value) )

答案 1 :(得分:-1)

这个怎么样。

"^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$"