2017-04-23 44 views
-1

我有一個即將推出的項目。「年份格式需要輸入4位數」.subscript in javascript

我有一個驗證程序來寫,初學者的水平。

我已經寫了代碼的大部分,但萬一用戶輸入2位數字形式的一年,我需要將它轉換成4位數的形式。

然後,我需要聲明一個新變量,並使用'.subscript'從國民身份證號碼中提取4位數字,這是一個13位數字。

到目前爲止,我已經寫了大部分代碼(我不會在這裏發佈它),但是代碼在達到yearString = yearString.substring(2,4)時不會執行。

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); 
    } 

基本上我需要的yearString變量聲明和一個4位工作一年,即1987年

顯然它不會在1987年工作=「1」,「9」,「8」 ,「7」]是一個4字符串數組,但是我沒有索引4處的字符串。

我希望我已經讓自己明白併爲無知感到抱歉。我有待糾正。

迎接。

+0

*但是,當它到達yearString = yearString.substring代碼將不會執行(2,4)* - 它顯示在控制檯有什麼錯誤? –

+0

控制檯沒有錯誤。它只是返回「返回false」並退出。 –

回答

0

yearString = yearString.substring(2,4);將從yearString中提取最後2位數字。 String.prototype.substring接受起始索引作爲第一個參數,並且可選的結束索引不包含在提取中,因此yearString.substring(2,4)將採用索引2和3中的字符,並且不包括索引4處的字符。

文檔substringHERE

您也可以嘗試String.prototype.substr(start, length)這需要你需要作爲第一個參數的子串,有多少個字符,你要提取作爲第二個參數的起始索引。

的文檔substrHERE

相關問題