当前位置:文档之家› 信用机构代码生成器

信用机构代码生成器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD>
<script language="javascript">
//信用机构代码校验
function isOrgId(orgId){
if (orgId.length != 18) {
alert("长度不对");
return false;
}
if(/[A-Z]{1}[0-9]{16}[0-9A-Z\\*]{1}/.test(orgId) == false){
alert("规格不符合校验");
return false;
}
var m = 36;
var s = m;
var c="";
for (var i = 0; i <= 16; i++) {
c = orgId.charCodeAt(i);
s = (s + char2num(c)) % m;
if (s == 0) s = m;
s = s * 2 % (m + 1);
}
if((s + char2num(orgId.charCodeAt(17))) % m == 1){
alert("校验通过");
return true;
}else{
alert("校验不通过");
return false;
}
}
function char2num(a){
if (a == 42)
return 36;
if ((a >= 48) && (a <= 57)) {
return a - 48;
}
return a - 55;
//生成号码
function generateOrgId(orgId){
document.all.inputData.value = "";
var c ;
var m =36;
var s = m;
for (var i = 0; i < 17; i++) {
c = orgId.charCodeAt(i);
s = (s + char2num(c)) % m;
if (s == 0) s = m;
s = s * 2 % (m + 1);
}
for(var j=0;j<100000; j++){
if((s + char2num(orgId.charCodeAt(17))) % m == 1){
document.all.inputData.value = orgId ;
}else{
return generateOrgId(getRandom());
}
}
}
/**
* 返回一个随机的大写字母
*/
function getUpperCharacter(){
character = String.fromCharCode(Math.floor( Math.random() * 26) + "A".charCodeAt(0)); return character;
}
/*
生成16位随机数字
function getRandom(){
var i ;
var temp ;
var temps=0;
for(i = 0 ; i < 16 ; i++)
{
temp = 0;
temp = parseInt(Math.random()*9);
temps=temps*10+temp;
}
return getUpperCharacter()+""+temps+""+getUpperCharacter();
}
</script>
</HEAD>
<span style="color:blue;font-weight:bold;">信用机构号码:</span> <input type = 'text' name = 'inputData' /> <br><br>
<input type="button" value="随机生成一个" onClick="generateOrgId(getRandom())" />
<input type = "button"value = "校验号码" onclick="isOrgId(document.all.inputData.value)" />
<br/>
<span style="color:red;font-weight:bold;font-size:10;">注:信用机构代码是企业的身份证,号码唯一有校验。

</span>
<br><br>
</HTML>。

相关主题