You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery移除年份前两位及AngularJS信用卡年份下拉框技术问询

嘿,这两个问题我都帮你捋清楚解决方案,直接上手能用的那种!

1. 使用jQuery移除年份字段中的前两位数字

不管你的年份是在输入框里还是普通文本元素中,核心思路都是获取完整年份值 → 截取后两位 → 把处理后的值放回元素。

举两个常见场景的代码示例:

  • 如果是输入框(比如id为year-input的input):
// 获取输入框里的完整年份
const fullYear = $('#year-input').val();
// 截取后两位(如果年份是数字,先转字符串避免报错)
const shortYear = fullYear.toString().substring(2);
// 把处理后的短年份放回输入框
$('#year-input').val(shortYear);
  • 如果是普通文本元素(比如id为year-label的span):
const fullYearText = $('#year-label').text();
const shortYearText = fullYearText.substring(2);
$('#year-label').text(shortYearText);
2. AngularJS实现信用卡到期年份下拉框(仅显示后两位)

你之前的问题出在没有遍历数组处理每个年份元素——直接对整个数组调用substring()只会操作数组对象本身,而不是里面的每一个年份值。

这里给你两种高效的处理方式,选哪种都可以:

方式一:字符串截取法

用map遍历生成的年份数组,把每个四位数年份转成字符串后截取后两位:

const startYear = new Date().getFullYear();
// 生成2018-2054的年份数组,并逐个转成后两位格式
$scope.years = Enumerable.Range(startYear, 36, 1)
  .map(year => year.toString().substring(2))
  .ToArray();

方式二:取模运算(更高效,无需转字符串)

四位数年份对100取模,直接得到后两位数字:

const startYear = new Date().getFullYear();
$scope.years = Enumerable.Range(startYear, 36, 1)
  .map(year => year % 100)
  .ToArray();

这样生成的数组就是["18", "19", ..., "54"](字符串形式)或者[18,19,...,54](数字形式),直接绑定到下拉框就可以正常显示啦。


内容的提问来源于stack exchange,提问作者Wikum W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:07:19