在我的项目中,用户需要为每个记录副本键入唯一编号,这种唯一编号格式将被预定义(我们有单独的选项来设置格式,例如:如果格式为“CCNNN”表示 2 个字符和 3 个数字,即它可能看起来像' AA001 ' 一直持续到 ' AA999 ',这种类型的格式将为记录的每个部分设置,甚至格式可能看起来像这样 ' CCCCNNNNNNNN...N ' 这取决于。)。
这个唯一编号可能包含 4 个前缀字符,后缀将是数字,可能它可能会从 3 位数字变为“N”个数字(例如:“TSS0000000001234”)
听到我需要做的是,在输入第一条记录后,我将从数据库中获取该值并将该值加一,然后我将其保留在输入字段中(对于预定义的格式应该不会受到伤害),即在输入下一条记录之前,例如减少用户的努力(假设用户在提交记录输入字段后输入像'TS001'将准备好下一个条目'TS002'的唯一编号,就像我保持递增的每种唯一编号格式一样。)
我以这种方式尝试过(我认为我使用了完全错误的逻辑)http://jsfiddle.net/hatwar/5bk6E/ ...
var givenInput="TS0001";//input different format eg: MAM7612 or HSD8723
// hear prefix possibly character and sufix probably integer
var separation = givenInput.substring(2); //
var gettingLastNo = separation[separation.length-1];
var incrementedValue = gettingLastNo.replace(/(\d+)/, function(){return arguments[1]*1+1});
var conditionCheck = '1';
if(incrementedValue.length > conditionCheck){
document.write((givenInput.substring(0, givenInput.length-2))+incrementedValue);
}else{
document.write((givenInput.substring(0, givenInput.length-1))+incrementedValue);
}
如果用户输入像“TS1、TS2、TS3...”这样的唯一数字我没有问题,我可以轻松递增,但它可能包含“零”,这就是为什么我像上面那样尝试但是当用户输入像“TS199”时它会失败,即使我可以保持另一个条件并增加它,但这不是一个更好的逻辑
任何帮助都会被挪用。谢谢。