可以使用正则表达式分割数字

Splitting numbers maybe using regular expression

本文关键字:数字 分割 正则表达式 可以使      更新时间:2023-09-26

我有一个HTML文本区,用户在其中插入数字序列号。它们要么是内联的,用任何字符(包括空格)分隔,要么是来自excel文件的列。

如果第一个字符为"1",则串行码的长度为14个字符,否则串行码的长度始终为15个字符。

我想实现的是一个jquery函数,它读取这个文本区域的内容,并在提交表单时生成一个html表,其中每个表的新tr行中都有串行代码。

到目前为止,我尝试拆分在列中提交的代码:

输入例子:

12345678912345
12345678912346
12345678912345
223456789123455
623456789123457
$("#add_code").click(function(){
    var code = $("#code").val();
    for (line in code.split(''n')){
        $("#codes_list").append('<tr><td>'+code[line]+'</td></tr>');
    }
});

提前感谢!

我不打算为你写这个,但我可以告诉你的是,你可以使用模式"[0-9]+"来匹配连续的数字序列。

一个javascript正则表达式的结果应该允许多次匹配。

请看这里的例子http://www.regular-expressions.info/javascriptexample.html

所以你只是想分割任何非数字?

code.split(/[^0-9]+/ig)
function parseSerialCodes(input) {
    var serialCodeRegExp = /(1'd{13}|'d{15})/g;
    var matches = [];
    var match = null;
    while((match = serialCodeRegExp.exec(input))) {
        matches.push(match[1]);
    }
}
$("#add_code").on("click", function () {
    var input = $("#code").val();
    var serialCodes = parseSerialCodes(input);
    var tableRows = serialCodes.map(function (code) {
        return "<tr><td>" + code + "</td></tr>";
    });
    var tableContents = tableRows.join("");
    $("#codes_list").append(tableContents);
});