javascript - 使用javascript在mvc路由的一部分中有效增加数字

标签 javascript regex asp.net-mvc

我有一个很长的 url 路由,我只需要增加路由的一部分。增加此值的正确代码看起来非常粗糙并且似乎有错误。我目前在 javascript 中使用正则表达式,但可能太复杂了:

/superbowl-XIX-group01-01/offense/11

我想使用 javascript 增加组 # 路由:

/superbowl-XIX-group02-01/offense/11

我目前正在使用此代码:

        var nextRosterStr = "";
        nextRosterStr = $('#btnShowMore').attr("next-page");
        if (typeof nextRosterStr === 'undefined') {
            return;
        } else if (isUIButton === false) {
            // update the btnShowMore attribute as well
            var gNumberValue = nextRosterStr.match(/-group0?\d*-/g);
            gNumberValue = gNumberValue.toString().replace(/0/, "ZERO");
            var gNumberStr = gNumberValue.toString().match(/\d*/g);
            var gNumber = parseInt(gNumberStr.join(""), 10);
            gNumber++;
            var gNumberValueFinal = "";
            if (gNumber > 9) {
                gNumberValueFinal = gNumberValue.replace(/\d*/g, gNumber.toString(10));
                gNumberValueFinal = gNumberValueFinal.toString().replace("ZERO", "").toString();
            } else {
                gNumberValueFinal = gNumberValue.toString().replace(/\d+/g, gNumber.toString(10));
                gNumberValueFinal = gNumberValueFinal.toString().replace("ZERO", "0").toString();
            }

            var nextRosterStr = nextRosterStr.replace(/-group0?\d*-/g, gNumberValueFinal.toString());

顺便说一句,这是一个路线设置示例:

                new RouteMappingItem()
                    {
                        PageName   = "Superbowls",
                        Url        = "/{GameType}-{GameIdentifier}-group{groupNumber}-01/{formationName}/{rankingCount}",
                        Defaults   = new { controller = ...
                    },

必须有一种更简单的方法来做到这一点。

最佳答案

小于 10 和大于或等于 10 时不要有不同的情况。获取数字,解析它,递增它,将其转换为带有前导零的字符串,然后将其放回字符串中。

这里有一个转换为带前导零的字符串的技巧:

numberAsString = ('00' + number).slice(-2);

Example

关于javascript - 使用javascript在mvc路由的一部分中有效增加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25556559/

相关文章:

javascript - 带有this的jquery多重选择器

javascript - 仅当行除破折号外没有其他字符时才匹配正则表达式

python - 如何在 django 中使用主键对 url 进行反向操作

c# - 如何将 value os list 对象组合成一个用逗号分隔的字符串

asp.net-mvc - @Html.ActionLink、@Url.Action 在 asp.net core razor View 中不起作用

javascript - Sequelize "where"指的是包含模型列

javascript - 将 React HOC 与表单一起使用。使用 HOC 传递通用 JSX 和状态

javascript - 使用 Javascript 根据第一个下拉列表中的选择从第二个下拉列表中删除项目

Javascript 正则表达式和 getElementByID

c# - MVC 从 ReturnURL 获取 ID