我有这个JavaScript函数,我必须创建一个提示,我需要输入一个数字,并根据它来运行上面的函数。
JavaScript部分是正确的,但我不知道如何创建前端接口并将其链接到该功能。
我只允许使用JavaScript和HTML。 (作业)
function validCNP( p_cnp ) {
var i=0 , year=0 , hashResult=0 , cnp=[] , hashTable=[2,7,9,1,4,6,3,5,8,2,7,9];
if( p_cnp.length !== 13 ) { return false; }
for( i=0 ; i<13 ; i++ ) {
cnp[i] = parseInt( p_cnp.charAt(i) , 10 );
if( isNaN( cnp[i] ) ) { return false; }
if( i < 12 ) { hashResult = hashResult + ( cnp[i] * hashTable[i] ); }
}
hashResult = hashResult % 11;
if( hashResult === 10 ) { hashResult = 1; }
year = (cnp[1]*10)+cnp[2];
switch( cnp[0] ) {
case 1 : case 2 : { year += 1900; } break;
case 3 : case 4 : { year += 1800; } break;
case 5 : case 6 : { year += 2000; } break;
case 7 : case 8 : case 9 : { year += 2000; if( year > ( parseInt( new Date().getYear() , 10 ) - 14 ) ) { year -= 100; } } break;
default : { return false; }
}
if( year < 1800 || year > 2099 ) { return false; }
return ( cnp[12] === hashResult );
}
答案 0 :(得分:0)
因为看起来你不需要真正的界面而只需要输入数字的方法,最简单的情况是使用javascript方法window.prompt()...然后将值传递给你的函数< / p>
var data = prompt('Type a number');
console.log(validCNP(data));
https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt