我真的需要您的帮助,因为这远远超出了我的JavaScript编码能力水平。
我想设计一个可以完成以下两种情况之一的函数:
-
如果字符串var'fileno'的末尾没有破折号和数字,请重写字符串fileno,然后添加仪表板,然后在末尾进行计数。
var fileno ='test'
var c = 4
fileno ='test-4'
-
如果已经有仪表板,然后在字符串末端有一个数字,请用以下新信息替换仪表板数:
var fileno ='test-2'
var c = 3
fileno ='test-3'
您可以使用 String.prototype.replace()
的正则表达式:
fileno = fileno.replace(/-d+$|$/, '-' + c);
字面意思是:用 -{c}
的末端替换 -{number}
或 nothing 。
var c = 3;
console.log( 'test'.replace(/-d+$|$/, '-' + c) );
console.log( 'test-4'.replace(/-d+$|$/, '-' + c) );
if(fileno[fileno.length - 2] === "-"){
fileno = fileno.substr(0,-1) + c;
} else {
fileno += "-" + c;
}
如果在第二个最后一个位置中已经有一个-
,则只需附加新号码还是附加新号。