>

안녕하세요, 페이스 북, 인스 타 그램, 유튜브, 핀트 레스트 등과 같은 텍스트 필드가 있습니다

<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>

와 같은 자바 스크립트 함수

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

정규 표현식에 대해 잘 모르지만 Google에서 검색 한 결과 "Facebook twitter 및 기타 확인 ..."에 대한 많은 솔루션을 찾았습니다.

그중 하나는 다음과 같습니다 :

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.


  • 답변 # 1

    이 정규 표현식은 다음 세 사이트 모두에 적합합니다 :

    (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");
    }
    
    

  • 답변 # 2

    아래 코드를 사용해보십시오

    url = "https://facebook.com/questions/48921616/one-regular-expressions-to-validate-multiple-social-link"
    r = new RegExp(/(twitter\.com|facebook\.com|linkedin\.com)/g)
    is_social_link = Boolean(url.match(r))
    # return value for "is_social_link" is true
    
    

  • 이전 javascript - 슬라이드 쇼에서 작동하지 않는 이전 버튼
  • 다음 python - django - 세션이 종료되면 마우스 클릭 감지