2009-10-18 5 views
1

클라이언트 (자바 스크립트)와 서버 측 코드 (C#, vb.net) 모두에서 사용하는 정규 표현식이 많고 중복을 피하기 위해 한 곳에 저장하려고하는 경우 어디에서 보관합니까?ASP.NET, JQuery - 정규 표현식 공유

저는 registerscript를 사용하여 정규 표현식을 문자열로 쓸 수 있지만 좀 더 우아한 것이 있는지 궁금합니다.

답변

0

나는 위의 두 가지 해결책을 살펴 보았지만 좀 더 신랄한 일을 감췄다. JSON 솔루션은 나를 자극하지만 JSON.NET에 익숙하지 않아 언젠가는 시험해보아야하며 asp.net 페이지에 표현식을 저장하고 싶지는 않지만 정규식 비교 차트는 편리하게 제공됩니다 .

나는 다른 것들을 위해 사용하고있는 간단한 xml 파일과 함께 갔다. 그래서 이미 거기에 있었다.

서버 쪽에서는 XML 함수를 사용하여 XML 파일에서 정규식을 검색하고 클라이언트 측에서 jQuery의 ajax 요청을 사용하여 자바 스크립트에서 정규식을 가져 왔습니다.

$.ajax({ 
    type: "GET", 
    url: "zzz.xml", 
    dataType: "xml", 
    success: parseXml 
}); 
1

당신은 당신의 ASPX 페이지에서 ... 당신의 자바 스크립트에서 공용 변수로 저장하는 데이터 바인딩 식을 사용하여 다음

을 코드 숨김 귀하의 asp.net 페이지의 보호 변수로 저장하고, 수 :

코드 숨김에서
<script type="text/javascript"> 
    var regexPhone = new RegExp("<%# regexPhone %>"); 
    var regexEmail = new RegExp("<%# regexEmail %>"); 
    var regexBlah = new RegExp("<%# regexBlah %>"); 
</script> 

: 전에이 정확한 접근 방법을 시도 적이 있지만

protected string regexPhone = "put regex string here"; 
protected string regexEmail = "put regex string here"; 
protected string regexBlah = "put regex string here"; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    // We need to call DataBind() on the page so that 
    // we can use databinding expressions 
    DataBind(); 
} 

, 나는 그것이 도움이된다면 알려주세요 - P 일 것이라고 생각!

참고 : 여기에서주의해야 할 점은. NET Regular Expression의 맛은 JavaScript 정규식의 맛과 다를 수 있습니다. 위대한 Jan Goyvaerts는 도움이 될 수있는 인상적인 comparison chart을 가지고 있습니다.

1

사전에 JSON 형식의 파일로 저장할 수 있으며 .NET에서 Json.NET으로 사용할 수 있습니다.