JavaScript Regex가 마지막 숫자와 ASP.NET 이벤트 핸들러를 반환하려면?
-
06-07-2019 - |
문제
다음 문자열이 주어지면 'S0 8 26 29 30 32'또는 'S0 8 26 '또는 'S0 5', 마지막 숫자를 반환해야합니다. 문자열의.
주어진:
function getFolderID(mystr) {
var reFolderID = /\bs0\\\\[0-9]+\b/g //regexp to return s0\\34
var retArr = [];
var retval = '';
retArr = mystr.match(reFolderID);
retArr = retArr[0].replace(/s0\\\\/g, "");
if (retArr != null) {
retval = retArr[retArr.length - 1];
}
//alert("Ret: " + retval);
return retval;
}
처음에 나는 방금 첫 숫자가 필요하다고 생각했지만 마지막 숫자가 필요하다고 밝혀졌습니다.
적절한 regexp 용어는 이것에 대해 무엇입니까?
또한 반환 된 JS 값으로 무언가를하기 위해 ASP.NET 이벤트 핸들러를 어떻게 만들 수 있습니까?
해결책
다음을 시도 할 수 있습니다. 서식을 따르고 마지막 숫자 세트를 그룹화해야합니다.
/s0\\\\(?:[0-9]+\\\\)*([0-9]+)/
그래서 :
function getFolderID(mystr) {
// search string for last group of digits in the pattern
var matches = mystr.match(/s0\\\\(?:[0-9]+\\\\)*([0-9]+)/);
// if matches is null, replace with "defaults"
matches ||= ["", ""];
// grab the first grouped match
return matches[1];
}
ASP.NET 이벤트는 아마도 Ajax를 사용해야 할 것입니다. <asp:UpdatePanel />
또는 Ajax 라이브러리 (jQuery, 프로토 타입 등)를 선택하십시오.
Ajax가 없으면 JavaScript와 ASP.Net은 동시에 실행되지 않습니다.
다른 팁
이 방법으로 문자열의 마지막 숫자를 일치시킬 수 있습니다.
function getFolderId(str) {
var pattern = /([0-9]+)$/;
var result = pattern.exec(str);
return result ? result[1] : null;
}
JavaScript 매개 변수를 서버에 반환하는 문제에 대해 ...
나는 두 개의 asp.net hidden fields를 만들고 JS 에서이 필드의 값을 설정했습니다 ... voila- 내 코드 - 비만에서 사용할 수 있습니다.
// set .net hidden control values so they're server-side accessible
document.getElementById('ctl00_ContentPlaceHolderMainBody_HidTreeContextAction').value = buttonAction;
document.getElementById('ctl00_ContentPlaceHolderMainBody_HidTreeContextID').value = buttonFolder;
그리고
<asp:HiddenField ID="HidTreeContextAction" runat="server" />
<asp:HiddenField ID="HidTreeContextID" runat="server" />
이제 워크 플로는 다음과 같습니다. 1) 트리 노드에서 사용자 오른쪽 클릭 2) 문맥 메뉴가 나타납니다. 6) 두 매개 변수가 모두 사용됩니다. 데이터가 어디로 가는지 결정합니다.
나는 이것이 Ajax를 사용하지 않고 약간의 해킹 일 수 있다는 것을 알고 있습니다. 누군가 가이 일이 어떻게 이루어질 것인지에 대한 관심을 가지고 있다면 Ajax 스타일, 훌륭합니다!
다른 사람이 필요로하는 경우이 빠른 수정을 공유 할 것이라고 생각했습니다.