JS 怎么制作数字、字母、汉字混合的验证码

JavaScript014

JS 怎么制作数字、字母、汉字混合的验证码,第1张

/***************************************************/

/**效果倒是出来了,但是不是十分好看*********/

/**建议还是单选汉字或者去掉汉字看看*******/

/**************************************************/

<html>

<head>

<style type="text/css">

.code{

background-image:url(code.jpg)

font-family:Arial

font-style:italic

color:Red

border:0

padding:2px 3px

letter-spacing:3px

font-weight:bolder

}

.unchanged {

border:0

}

</style>

<script language="javascript" type="text/javascript">

var code //在全局 定义验证码

function createCode(){

code = ""

var codeLength = 100//验证码的长度

var checkCode = document.getElementById("checkCode")

checkCode.value = ""

var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z','\u7684','\u4e00','\u4e86','\u662f','\u6211','\u4e0d','\u5728','\u4eba','\u4eec','\u6709','\u6765','\u4ed6','\u8fd9','\u4e0a','\u7740','\u4e2a','\u5730','\u5230','\u5927','\u91cc','\u8bf4','\u5c31','\u53bb','\u5b50','\u5f97','\u4e5f','\u548c','\u90a3','\u8981','\u4e0b','\u770b','\u5929','\u65f6','\u8fc7','\u51fa','\u5c0f','\u4e48','\u8d77','\u4f60','\u90fd','\u628a','\u597d','\u8fd8','\u591a','\u6ca1','\u4e3a','\u53c8','\u53ef','\u5bb6','\u5b66','\u53ea','\u4ee5','\u4e3b','\u4f1a','\u6837','\u5e74','\u60f3','\u751f','\u540c','\u8001','\u4e2d','\u5341','\u4ece','\u81ea','\u9762','\u524d','\u5934','\u9053','\u5b83','\u540e','\u7136','\u8d70','\u5f88','\u50cf','\u89c1','\u4e24','\u7528','\u5979','\u56fd','\u52a8','\u8fdb','\u6210','\u56de','\u4ec0','\u8fb9','\u4f5c','\u5bf9','\u5f00','\u800c','\u5df1','\u4e9b','\u73b0','\u5c71','\u6c11','\u5019','\u7ecf','\u53d1','\u5de5','\u5411','\u4e8b','\u547d','\u7ed9','\u957f','\u6c34','\u51e0','\u4e49','\u4e09','\u58f0','\u4e8e','\u9ad8','\u624b','\u77e5','\u7406','\u773c','\u5fd7','\u70b9','\u5fc3','\u6218','\u4e8c','\u95ee','\u4f46','\u8eab','\u65b9','\u5b9e','\u5403','\u505a','\u53eb','\u5f53','\u4f4f','\u542c','\u9769','\u6253','\u5462','\u771f','\u5168','\u624d','\u56db','\u5df2','\u6240','\u654c','\u4e4b','\u6700','\u5149','\u4ea7','\u60c5','\u8def','\u5206','\u603b','\u6761','\u767d','\u8bdd','\u4e1c','\u5e2d','\u6b21','\u4eb2','\u5982','\u88ab','\u82b1','\u53e3','\u653e','\u513f','\u5e38','\u6c14','\u4e94','\u7b2c','\u4f7f','\u5199','\u519b','\u5427','\u6587','\u8fd0','\u518d','\u679c','\u600e','\u5b9a','\u8bb8','\u5feb','\u660e','\u884c','\u56e0','\u522b','\u98de','\u5916','\u6811','\u7269','\u6d3b','\u90e8','\u95e8','\u65e0','\u5f80','\u8239','\u671b','\u65b0','\u5e26','\u961f','\u5148','\u529b','\u5b8c','\u5374','\u7ad9','\u4ee3','\u5458','\u673a','\u66f4','\u4e5d','\u60a8','\u6bcf','\u98ce','\u7ea7','\u8ddf','\u7b11','\u554a','\u5b69','\u4e07','\u5c11','\u76f4','\u610f','\u591c','\u6bd4','\u9636','\u8fde','\u8f66','\u91cd','\u4fbf','\u6597','\u9a6c','\u54ea','\u5316','\u592a','\u6307','\u53d8','\u793e','\u4f3c','\u58eb','\u8005','\u5e72','\u77f3','\u6ee1','\u65e5','\u51b3','\u767e','\u539f','\u62ff','\u7fa4','\u7a76','\u5404','\u516d','\u672c','\u601d','\u89e3','\u7acb','\u6cb3','\u6751','\u516b','\u96be','\u65e9','\u8bba','\u5417','\u6839','\u5171','\u8ba9','\u76f8','\u7814','\u4eca','\u5176','\u4e66','\u5750','\u63a5','\u5e94','\u5173','\u4fe1','\u89c9','\u6b65','\u53cd','\u5904','\u8bb0','\u5c06','\u5343','\u627e','\u4e89','\u9886','\u6216','\u5e08','\u7ed3','\u5757','\u8dd1','\u8c01','\u8349','\u8d8a','\u5b57','\u52a0','\u811a','\u7d27','\u7231','\u7b49','\u4e60','\u9635','\u6015','\u6708','\u9752','\u534a','\u706b','\u6cd5','\u9898','\u5efa','\u8d76','\u4f4d','\u5531','\u6d77','\u4e03','\u5973','\u4efb','\u4ef6','\u611f','\u51c6','\u5f20','\u56e2','\u5c4b','\u79bb','\u8272','\u8138','\u7247','\u79d1','\u5012','\u775b','\u5229','\u4e16','\u521a','\u4e14','\u7531','\u9001','\u5207','\u661f','\u5bfc','\u665a','\u8868','\u591f','\u6574','\u8ba4','\u54cd','\u96ea','\u6d41','\u672a','\u573a','\u8be5','\u5e76','\u5e95','\u6df1','\u523b','\u5e73','\u4f1f','\u5fd9','\u63d0','\u786e','\u8fd1','\u4eae','\u8f7b','\u8bb2','\u519c','\u53e4','\u9ed1','\u544a','\u754c','\u62c9','\u540d','\u5440','\u571f','\u6e05','\u9633','\u7167','\u529e','\u53f2','\u6539','\u5386','\u8f6c','\u753b','\u9020','\u5634','\u6b64','\u6cbb','\u5317','\u5fc5','\u670d','\u96e8','\u7a7f','\u5185','\u8bc6','\u9a8c','\u4f20','\u4e1a','\u83dc','\u722c','\u7761','\u5174','\u5f62','\u91cf','\u54b1','\u89c2','\u82e6','\u4f53','\u4f17','\u901a','\u51b2','\u5408','\u7834','\u53cb','\u5ea6','\u672f','\u996d','\u516c','\u65c1','\u623f','\u6781','\u5357','\u67aa','\u8bfb','\u6c99','\u5c81','\u7ebf','\u91ce','\u575a','\u7a7a','\u6536','\u7b97','\u81f3','\u653f','\u57ce','\u52b3','\u843d','\u94b1','\u7279','\u56f4','\u5f1f','\u80dc','\u6559','\u70ed','\u5c55','\u5305','\u6b4c','\u7c7b','\u6e10','\u5f3a','\u6570','\u4e61','\u547c','\u6027','\u97f3','\u7b54','\u54e5','\u9645','\u65e7','\u795e','\u5ea7','\u7ae0','\u5e2e','\u5566','\u53d7','\u7cfb','\u4ee4','\u8df3','\u975e','\u4f55','\u725b','\u53d6','\u5165','\u5cb8','\u6562','\u6389','\u5ffd','\u79cd','\u88c5','\u9876','\u6025','\u6797','\u505c','\u606f','\u53e5','\u533a','\u8863','\u822c','\u62a5','\u53f6','\u538b','\u6162','\u53d4','\u80cc','\u7ec6')

for(var i=0i<codeLengthi++) {

var charIndex = Math.floor(Math.random()*550)

code +=selectChar[charIndex]

}

if(code.length != codeLength){

createCode()

}

checkCode.value = code

}

function validate () {

var inputCode = document.getElementById("input1").value.toUpperCase()

if(inputCode.length <=0) {

alert("请输入验证码!")

return false

}

else if(inputCode != code ){

alert("验证码输入错误!")

createCode()

return false

}

else {

alert("OK")

return true

}

}

</script>

</head>

<body onload="createCode()">

<input type="text" id="input1" />

<input type="text" id="checkCode" class="code" style="width: 1000px" /><a href="#" onclick="createCode()">看不清楚</a><input id="Button1" onclick="validate()" type="button" value="确定" />

<script></script>

</body>

</html>

F-16C/D

在F-16系列中,F-16C/D是经过整体规划、改进设计的全新型号,性能大大提高。C/D型是第二阶段MSIP(多国阶段改进计划)计划的产物,其原型为Block25。

C/D使用了诺斯洛普·格鲁曼AN/APG-68(V)雷达,增加了探测距离,工作模式增多,抗干扰能力更强。该雷达的空中作战模式包括自由搜索、上视扫描、单/多目标跟踪等,最多可跟踪10个目标;在高脉冲频率模式中可为AIM-7麻雀导弹提供持续照射,真正的拥有了超视距空战的能力。对地作战模式可提供对海、对地面移动/固定目标成像模式。

C/D使用了“玻璃”座舱,包括两个座舱大型显示器、GEC马可尼大视角平视显示器、LANTIRN前视红外电视和激光制导吊舱、“仙童”公司的任务传输系统。环境控制系统和电源供电容量也有改进。在武器控制软件方面,C/D使用了MILSTD-1760总线,具有了使用AGM-65D“小牛”空地导弹(下图为D型发射“小牛”空地导弹)和AIM-120先进中距空空导弹的能力。火控计算机的速度也大有提高。其他电子设备包括美国空军标准的惯性导航系统、雷达高度计、抗干扰的UHF无线电台。

C/D的最大起飞重量增加到19,640kg,夜间和恶劣气候下对地攻击的能力大大加强。F-16C与A型外表上最明显的区别是C型的垂尾根部加宽了,其前端的延长段上有一个小天线。这一加宽的空间原本是为安装新型的电子干扰装置而准备的,F-16C/DBLOCK25

Block25是F-16C最初的生产批次。1984年,首架Block25交付,试飞后其飞行控制软件进行了改进。美军共装备了244架Block25。Block25垂尾根部原计划加装威斯汀豪斯公司的AN/ALQ-165ASPJ电子干扰装置,但ASPJ计划备受争议,90年1月空军放弃了该计划,所以这一装置也没装上F-16。Bolck25使用F100-PW-200发动机,后来改为F100-PW-220E。佛罗里达麦克迪尔空军基地的第56战术战斗机联队第61中队是美本土第一个装备F-16C的单位,88年10月形成作战能力。

F-16CBlock30/32

1990年11月26日,美军希望用一种先进的战斗攻击机取代速度慢、机动性差、火控设备落后的A-10攻击机。为此美军计划改装400架F-16C/DBlock30/32,换装相应设备以适应近距空中支援(CAS)和战场空中遮断(BAI)任务。这一计划即A-16计划。计划换装的设备包括一个全球卫星定位系统(GPS),数字地形系统(DTS),系统加固,模块任务计算机,和自动目标管制系统(ATHS)。

随后一架Block30原型机在肖空军基地进行了诸多的改进。这架F-16被命名为F/A-16。1992年1月,由于美军转用更先进的加装有LANTIRN吊舱的F-16C/DBlock40/42作为下面将会提到的F/A-16的原型机。

F/A-16A和F/A-16C

88年11月,纽约国民警卫队第174战术战斗机联队采用F-16A/BBlock10换装了原有的A-10A“雷电II”被替换,成为第一个使用F-16进行近距空中支援的部队。在海湾战争中,该联队的24架F-16A/B飞机在机腹挂架挂载通用电气公司的GPU-5/A“铺路爪”机炮吊舱,作为对地攻击用途。该吊舱内装有一门GAU-13/A30mm4管加特林炮,该炮是A-10A使用的GAU-8/A30mm7管炮的派生型,吊舱内携带353发弹药。左图为一架涂有适合近距空中支援用途的绿色迷彩的该型飞机高速掠过。高速美军计划如上述F/A-16效果理想,则开始组建大规模的F/A-16C攻击机部队。

但是,这批飞机在沙漠风暴行动表现不佳,主要表现在以下方面:由于先天的设计是针对中低空空战任务,且机体轻,F-16的低空低速性能不象A-10那样稳定,无法进行精确的瞄准;F-16飞行速度快,有时候对于对地攻击任务来说太快了,飞行员瞄准和攻击目标的时间太短;威力远远超过F-16原有的20mm炮的30mm机炮开火时,其后坐力会使得飞机难以控制;飞行和火力控制软件不适应对地攻击任务。

在实战中,F/A-16的飞行员因为无法精确瞄准,只能进行概率瞄准,利用炮弹的散布来“覆盖”目标区域,但这种方法在对单个地面目标进行攻击时效果很差。最后这些F/A-16被迫卸下GAU-5/A机炮吊舱,改装集束炸弹,这样攻击效果还好一些。海湾战争后这些战斗机被改回了原始的设计。

F-16C/DBlock40/42

Block40/42又被称为“夜隼”,着重改进了夜间和恶劣气候下的作战能力。1988年12月首架Block40/42交付美军,生产持续到95年。99年埃及定购了21架新机,为此生产线曾重开。截止99年底,共生产了765架Block40/42。Block40/42装备了全新的LANTIRN导航/目标指示吊舱,该吊舱有红外成像、激光制导等功能。还改装了联合全息平视显示器、GPS导航仪、APG-68V(5)雷达(其故障间隔大于100小时)、ALE-47诱饵弹、全新的四余度数字式飞行控制系统、自动地形跟踪系统。其座舱盖镀有很薄的金属膜,目的是减少坐舱雷达反射回波,因此坐舱盖略呈金色。

与Block30/32一样,Block40使用通用电气公司(GE)的F110-GE-100发动机,42使用普惠公司(PW)的F100-PW-220发动机。两种发动机虽然可以互换,但是部队为维护简便起见,不会在一个单位内同时使用两种发动机,通常驻外部队使用GE发动机,本土部队使用PW发动机。为了提高机动能力,机身结构得到了加强,因此可以在大推力的状态下进行9G的机动。40/42的最大起飞重量位19,187kg。40/42的起落架支柱加长,以便保证LANTIRN吊舱不要太接近地面。轮胎相应增大,因此起落架舱门鼓出,着陆灯移到了前起落架舱门上。

虽然Block40相对以往的F-16来说非常先进,但也服役近十年了。为保持近700架Block40/50在作战中保持技术优势,1998年初美国国会通过了“通用机体试验计划”(CCIP)。计划着重强调了令Block40/42机拥有与Block50/52机相似的机体与内部系统,预算10亿美元,2005年前完成。CCIP计划承继了许多在F-16A/BMLU计划的成果,包括Link16数据链、JHMCS、彩色多功能显示器、大视角平视显示器、ALR-50M雷达告警系统、ALE-47诱饵撒布器、机体结构改进等。

美军还有一个“通用部队飞行试验计划”(OFP),包括为F-16系列战斗机加装固定的红外、激光观瞄系统(类似俄罗斯战斗机上的相应系统),增加使用AIM-9X先进近距空空导弹、下一代火力圈外精确制导武器(如AGM-158、JASSM、JDAM、JSOW(下图为投掷JSOW)以及WCMD等)的能力。目前可携带的武器包括AGM-88“哈姆”反雷达导弹、GBU-10、GBU-12、GBU-24激光制导炸弹和GBU-15激光制导滑翔炸弹。

Block40本身也在不断改进,突出表现为新的飞行和火力控制软件的更新。最新的版本为Tape40T5及T6(代表Block40批次第5与第6次软体版本更新)。40T5增强了Block40的近距对地攻击能力,因此又称为T40T5/CAS计划。具体措施为加装IDM、DTS、HSD、LANTIRN,增加发射AIM-120C、GBU-97和GBU-24等先进武器的能力。另外Block40经过此改进后,能担任近距对地攻击任务中的前进空中管制(FAC)任务。在波斯尼亚执行维和任务的F-16率先进行了40T5计划的改进。

F-16C/DBlock50/52

F-16现役最新的改进型号是Block50/52。1991年9月,美国空军开始接收Block50/52。使用GE公司F110-GE-129IPE发动机的机种被称为Block50,而使用普惠F100-PW-229IPE发动机的称为Block52(IPE指“发动机性能提升计划”)。两种发动机的推力都达到了129千牛。

50/52的改进包括以下内容:采用了霍尼维尔公司的H-423激光陀螺导航系统;加装了GPS接收机;计算机内存加到128MB;换装了数据传输速度更快的新型调制解调器;采用了AN/ALR-56M先进雷达告警接收机;采用了AN/ALE-47自适应干扰系统;加装数字地形系统数据传输链路;改进座舱设计,使得飞行员佩戴夜视镜时也能看清座舱内各种显示装置;采用了先进敌我识别系统;采用了可编程升级的显示装置;换装新一代MIL-STD-1760总线;改进平视显示仪以适应多种的战术任务。

Block50/52不能挂载LANTIRN吊舱,但是可以使用AN/ASQ-213反雷达导弹指示制导系统(HTS),能独立的发射和制导AGM-88“哈姆”反雷达导弹。50/52从而拥有了美空军F-4G反雷达攻击机40~80%的攻击能力,因此将用于替代服役时间已经很长的F-4G,执行“野鼬”(WildWeasel)任务,即反雷达任务;加装了HTS的Block50/52被称为50D与52D,还有一种非正式的叫法称之为F-16J和DJ,1993年5月正式服役。

Block50/52采用AN/APG-68V(5)火控雷达,VHF/FM天线集中布置在垂尾前缘。座舱有两个单色显示器(后期生产的50/52上使用彩色显示器)。Block50/52可以使用的武器有:AIM-120中距空空导弹、AGM-65G、PGU-28/B20mm炮、JDAM、AGM-145A/BJSOW、AGM-84“鱼叉”反舰导弹。50/52是第一种能使用“鱼叉”的F-16,这令F-16能胜任的任务大大增多。

目前正出于研制阶段的Block50PLUS被称为“玻璃隼”,主要改进是具有在恶劣天气中投放JDAM的能力,恶劣天气下的对地攻击能力有很大提高。PLUS型号的机尾部将安装一对地合成孔径雷达,改善发现和攻击地面目标的能力。还将加装被动导弹告警装置、地形参考导航装置和600加仑副油箱。武器方面可使用454千克的Mk83、908千克的Mk84、908千克的BLU-109等普通炸弹,以及前面提及的JDAM。机体结构变化很小,重头戏放在了重新设计的座舱上。座舱全面采用了数字式电子设备,两个彩色显示器的面积扩大为以往的两倍,因此叫做“玻璃隼”,雷达告警功能也不再使用单独的显示装置,而是结合在新的大型显示器上。发动机将采用F100-PW-229A,推力15572千牛。下图的Block52是执行“野鼬”反雷达任务的双座DJ型号,采用了加大的背部脊条,其中包括了众多新增加的电子设备。

F-16Block60/62

F-16下一个批次是Block60/62,但是尚未进行生产。预计在60/62上,一套功能类似LANTIRN的红外激光导航制导系统将被固定的安装在机身内,传感器镜头安置在风挡前。为改善机动性能,将使用面积增大25%的主翼和平尾;配置GE和普惠IPE等先进发动机。机背上加装保形油箱,以增加航程,因此60/62的脊条将呈增大的方柱形。60/62将会是外表变动最大的F-16改型,目前已经得到阿联酋的订单。但出于商业利益的考虑,洛克西德·马丁公司更加希望优先销售Block50/52。