使用jquery验证Facebook和Twitter URL

时间:2012-02-07 05:11:26

标签: javascript jquery regex

在我的应用程序中,我正在使用表单的jquery验证。

还有两个其他文件可以进入Twitter页面网址和Facebook页面网址。

如何使用jquery验证这些网址?

示例:

http://twitter.com/anypage

http://twitter.com/#!/anypage

http://facebook.com/anypage

4 个答案:

答案 0 :(得分:10)

以上解决方案/正则表达式都不够灵活 检查jsFiddle中的code


var str1 = 'http://twitter.com/anypage';    //True
var str2 = 'http://twitter.com/#!/anypage'; //True


var str3 = 'http://facebook2.com/anypage'; //False

var str4 = 'http://www.facebook.com/anypage';  //True http & www
var str5 = 'http://facebook.com/anypage';      //True http 
var str6 = 'https://facebook.com/anypage';     //True https 
var str7 = 'https://www.facebook.com/anypage'; //True https & www

var str8 = 'facebook.com/anypage';             //True no protocol
var str9 = 'www.facebook.com/anypage';         //True no protocol & www



function validate_url(url)
{
  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';

 return 'unknown';
}

alert('This link is ' + validate_url(str2));​

答案 1 :(得分:1)

我认为这可能会对你有所帮助

function validFBurl(enteredURL) {
  var FBurl = /^(http|https)\:\/\/www.facebook.com\/.*/i;
  if(!enteredURL.match(FBurl)) {
      alert("This is not a Facebook URL");
      }
  else {
      alert("This IS a Facebook URL");
      }
  }

来源: http://www.webdeveloper.com/forum/showthread.php?t=247621

答案 2 :(得分:1)

喜欢这个?

var str1 = 'http://twitter.com/anypage';
var str2 = 'http://twitter.com/#!/anypage';
var str3 = 'http://facebook.com/anypage';

if (/https?:\/\/twitter\.com\/(#!\/)?[a-z0-9_]+$/i.test(str1))
    alert('Str1 has passed first regexp');

if (/https?:\/\/twitter\.com\/(#!\/)?[a-z0-9_]+$/i.test(str2))
    alert('Str2 has passed first regexp');

if (/https?:\/\/facebook\.com\/[a-z0-9_]+$/i.test(str3))
    alert('Str3 has passed second regexp');

或验证函数http://jsfiddle.net/36Wct/2/

var str1 = 'http://twitter.com/anypage';
var str2 = 'http://twitter.com/#!/anypage';
var str3 = 'http://facebook.com/anypage';
var str4 = 'http://facebook2.com/anypage';


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

 if (/https?:\/\/facebook\.com\/[a-z0-9_]+$/i.test(url))
     return 'facebook';

 return 'unknown';
}

alert('This link is ' + validate_url(str4));

答案 3 :(得分:0)

使用jQuery Validation插件中的url()方法。它检查输入的URL是否有效。您仍然可以根据您的要求进行自定义(即检查页面是否属于twitter或FB)。

来源:http://docs.jquery.com/Plugins/Validation