将字符串中的数字替换为该数字减1 JS

JavaScript011

将字符串中的数字替换为该数字减1 JS,第1张

以下函数可以将字符串中的数字替换为该数字-1,非数字保持不变,0替换为-1

function func(str){

var output = []

for(var i = 0, iLen = str.lengthi <iLeni++){

if(str[i].match(/\d/)){

output.push(str[i] - 1 + '')

}else{

output.push(str[i])

}

}

return output.join('')

}

func('123abc456def')//"012abc345def"

解释:

str[i].match(/\d/)判断该字符是否为数字

output.push(str[i] - 1 + '')将数字减去1后通过加上空字符串隐式转换为字符串类型

output.push(str[i])将非数字类型的字符串直接放到输出数组中

output.join('')将数组转为一个字符串

正如标题所言使用js实现按钮控制文本框加1减1,此类主要应用于小时+分钟,下面有个不错的示例,喜欢的朋友可以参考下 time.html代码: 代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <script type="text/javascript" src="time.js"></script> </head> <body> <input type="button" value="小时加" onClick="add_hour()"> <input type="text" value="00" id="hour"> <input type="button" value="小时减" onClick="sub_hour()"> <br/> <br/> <input type="button" value="分钟加" onClick="add_minute()"> <input type="text" value="00" id="minute"> <input type="button" value="分钟减" onClick="sub_minute()"> </body> </html> time.js代码: 代码如下: function add_num(a,b,c){ if(c<a){ c++ } else{ c=b } if(c<=9&&c>=0){ c="0"+c } return c } function sub_num(a,b,c){ if(c>a){ c-- } else{ c=b } if(c<=9&&c>=0){ c="0"+c } return c } function add_hour(){ var current_num=$("#hour").attr("value") current_num=add_num(23,0,current_num) $("#hour").attr("value",current_num) } function sub_hour(){ var current_num=$("#hour").attr("value") current_num=sub_num(0,23,current_num) $("#hour").attr("value",current_num) } function add_minute(){ var current_num=$("#minute").attr("value") current_num=add_num(59,0,current_num) $("#minute").attr("value",current_num) } function sub_minute(){ var current_num=$("#minute").attr("value") current_num=sub_num(0,59,current_num) $("#minute").attr("value",current_num) }