javascript - 用于验证多个单词的单数正则表达式

标签 javascript php jquery regex validation

您好,我有一个文本字段,例如 facebook、Instagram、Youtube、pintrest 等等

<form action="" name="socialPageForm" method="post" onsubmit="return validateForm()">
    <input type="text" name="facebook_url"  />
    <input type="text" name="twitter_url"  />
    <input type="text" name="instagram_url"  />
</form>

还有一个类似

的 javascript 函数
function validateForm() {
    var facebook_url = document.forms["socialPageForm"]["facebook_url"].value;
    if (facebook_url == "") {
        alert("Facebook Url must be filled out");
        return false;
    }
}  

我对正则表达式知之甚少,但我在谷歌上进行了搜索,发现了很多“验证 Facebook 推特等...”的解决方案

其中一个如下:

if (/^(https?:\/\/)?((w{3}\.)?)twitter\.com\/(#!\/)?[a-z0-9_]+$/i.test(url))
     return 'twitter';    

 if (/^(https?:\/\/)?((w{3}\.)?)facebook.com\/.*/i.test(url))
     return 'facebook';

但我的问题是:有没有办法只使用一个单一的正则表达式来验证所有社交网站?

大多数社交网站都有用户名,例如 facebook.com/johnDoe、twitter.com/johnDoe、instagram.com/johnDoe;所以我们只需要更改正则表达式中的名称,它将适用于所有社交媒体网站。

It doesn't Matter it is made using php, jquery, or a javascript. The motto is to only validate.

最佳答案

此正则表达式适用于您的所有 3 个网站:

(https?:\/\/)?((w{3}\.)?)(twitter|facebook|instagram)\.com\/(#!\/)?[a-zA-Z0-9_]+

validateForm() 修改:

function validateSiteURL(siteURL)
{
  var pattern = "(https?:\/\/)?((w{3}\.)?)(twitter|facebook|instagram)\.com\/(#!\/)?[a-zA-Z0-9_]+"; 
  var re = new RegExp(pattern);
  if (re.test(siteURL)) 
   return true;
  return false;
}

function validateForm()
{
  //Your code...
  if(!validateSiteURL(facebook_url))
    alert("Invalid facebook URL");
}

关于javascript - 用于验证多个单词的单数正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48921616/

相关文章:

javascript - Javascript 中的评估顺序是连续的吗?

javascript - 从自动完成结果 Json 中删除重复项

php - JQuery 使用 PHP GET 从文本框重新加载 DIV 层

jquery - Sharepoint Angular REST 添加项目产量 400(错误请求)

JQuery 和 Ajax.BeginForm() 两次发布相同的数据

javascript - 单击按钮时获取单选按钮值不起作用angularjs

javascript - Javascript 或 JQuery 中的 "!!"是什么?

php - laravel中如何用一个表中的值减去另一个表中的值

php - 如何禁用尾部斜杠附加?

javascript - 如何隐藏jquery中的所有div