检查用户消息是否包含电子邮件地址或URL

时间:2013-06-28 11:42:49

标签: jquery

我想限制用户发送包含电子邮件地址或任何网址的邮件。

任何Suggesstion?

1 个答案:

答案 0 :(得分:1)

你应该学习正则表达式(RegExp),它们对于验证用户输入非常有用! 只是谷歌吧
但这里可以解决您的问题:
检查是否有电子邮件:

if(input.search(/\b[a-z0-9._%+?\-]+@[a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1)
{
    // Every thing is good
}
else
{
    // there is an E-Mail in the input
}

网址有点难,取决于你想要的严格程度 你可能很容易过滤出一些实际上不是网址的东西但是你去了。
如果你想要非常严格:

if(input.search(/\b[a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1)
{
    // Every thing is good
}
else
{
    // there is a url in the input
}

这会过滤"abc.def.de"甚至"a.com"之类的内容
如果只应过滤"http://asdf.com"http://www.dfjdsjfisfi.com之类的内容,请使用以下命令:

if(input.search(/\bhttp:\/\/[a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1)
{
    // Every thing is good
}
else
{
    // there is a url in the input
}


input应该是包含消息的字符串,所以在测试之前填写它 例如。 var input = $("#input_id").val();

希望有所帮助。 :)