给定以下字符串:'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;
}
起初我以为我只需要前几个数字,但结果发现我需要最后一个数字。
正确的正则表达式术语是什么?
另外,如何创建 ASP.Net 事件处理程序来对返回的 JS 值执行某些操作?
最佳答案
您可以尝试以下操作。它应该遵循格式并对最后一组数字进行分组。
/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、Prototype 等)。
如果没有 Ajax,JavaScript 和 ASP.NET 将永远不会同时执行。
关于asp.net - JavaScript 正则表达式返回最后一位数字和 ASP.Net 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635280/