2011-08-05 6 views
1

기본적으로 현재 URL (http : //www.x)의 유효성을 검사하려고 시도하고 있으며 그 위에 jsFiddle (입력은 "http : //www.jsfiddle.net/ http://www.stackoverflow.com/ ")") & 유래 URL을 (입력을 시작해야합니다 "여기 jQuery 및 Regex로 사용자 정의 입력 URL 필드 유효성 검사

http://jsfiddle.net/eAnS9/

검증은 bassistance validate plugin하는 작업 바이올린입니다 이는 documented here입니다.

시작 값을 기준으로 입력란의 유효성을 올바르게 검사하는 방법에 대해 알고 싶습니다.

업데이트 : bassistance 소스 코드에서 bassistance 현재 유효성 검사와 통합/작동해야합니다 (맞춤 URL 기능).

답변

2

사용자 지정 규칙을 만들려면 validator.addMethod()을 사용하십시오. 이 트릭을해야합니다 :

//--- Add a domain-check rule 
jQuery.validator.addMethod ("domainChk", function (value, element, params) { 

     if (this.optional (element)) 
      return true; 

     //--- Get the target domain, this will be in the rel attribute. 
     var targDomain = $(element).attr ("rel"); 
     var regExp  = new RegExp ("^https?:\/\/(www.)?" + targDomain + "\/", "i"); 

     return regExp.test (value); 
    }, 
    function errmess (params, element) { 
     return "This must be a valid URL for " + $(element).attr ("rel"); 
    } 
); 

이제 CSS 클래스에 연결하십시오. :

jQuery.validator.addClassRules ({ domainChk: {domainChk: true} }); 


domainChk 규칙은 필요한 도메인과 같이, 입력의 확인해 속성에있을 것으로 예상 : 그것은

<input class="field required url domainChk" rel="jsfiddle.com"  ...> 
<input class="field required url domainChk" rel="stackoverflow.com" ...> 


의 그! See it all in action at jsFiddle.

+0

완벽한 답변. 대단히 감사합니다 브록, 오늘 많이 배웠습니다 :) – Maverick

+0

당신을 환영합니다; 기꺼이 도와주세요. –

0

더 좋을 수있다 (이 URL을 정규식이있는 곳입니다)하지만

var Reg = /https?:\/\/(w{3}\.)?(jsfiddle|stackoverflow)(.com\/)/ 

내가 사용하는 것입니다. http://jsfiddle.net/eAnS9/

관련 문제