&引用;年份格式要求输入4位数字。javascript中的下标

&引用;年份格式要求输入4位数字。javascript中的下标,javascript,arrays,string,Javascript,Arrays,String,我有一个即将到来的项目 我有一个验证程序要写,初学者的水平 我已经写了大部分代码,但如果用户以2位数的形式输入年份,我需要将其转换为4位数的形式 然后我需要声明一个新变量,并使用“.subscript”从国家标识号(13位数字)中提取4位数字 到目前为止,我已经编写了大部分代码(我不会在这里全部发布),但是当代码到达yearString=yearString.substring(2,4)时,它不会执行 基本上,我需要声明yearString变量并为4位数的年份工作,即1987年 显然它不会工作,

我有一个即将到来的项目

我有一个验证程序要写,初学者的水平

我已经写了大部分代码,但如果用户以2位数的形式输入年份,我需要将其转换为4位数的形式

然后我需要声明一个新变量,并使用“.subscript”从国家标识号(13位数字)中提取4位数字

到目前为止,我已经编写了大部分代码(我不会在这里全部发布),但是当代码到达yearString=yearString.substring(2,4)时,它不会执行

基本上,我需要声明yearString变量并为4位数的年份工作,即1987年

显然它不会工作,因为1987=[“1”、“9”、“8”、“7”]是一个4字符串数组,但我在索引4处没有字符串

我希望我已经理解了自己,并为自己的无知感到抱歉。我将被纠正


欢迎。

yearString=yearString.substring(2,4)将从
年份字符串中提取最后2位数字
String.prototype.substring
接受起始索引作为第一个参数和可选的结束索引,该索引不包括在提取中,因此
yearString.substring(2,4)
将采用索引2和3处的字符,而不包括索引4处的字符

子字符串
的文档可用

您还可以尝试
String.prototype.substr(start,length)
,它将所需子字符串的开始索引作为第一个参数,并将要提取的字符数作为第二个参数


substr
的文档可用

但是当代码到达yearString=yearString时将不会执行。substring(2,4)-它在控制台中显示了什么错误?控制台中没有错误。它只返回“return false”并退出。
function cnpVal() {
var cnpString = document.getElementById('lblcnp').value;  //13 digit number
var dayString = document.getElementById('txtday').value;
var monthString = document.getElementById('txtmonth').value;
var yearString = document.getElementById('txtyear').value;  //2 or 4 digit number

arrayCnp = cnpString.split('');


if (yearString.length != 4) {
    alert("Year format requires you to enter 4 digits");
    return false;
    }
    else {
        yearString = yearString.substring(2,4);
    }