我想限制用户发送包含电子邮件地址或任何网址的邮件。
任何Suggesstion?
答案 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();
希望有所帮助。 :)