使用JavaScript,如何生成汉字验证码?
天蓬老师
天蓬老师 2017-04-10 15:38:06
[JavaScript讨论组]

我现在有一个需求,要生成汉字的验证码,如何用js随机生成汉字?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
PHP中文网

解:
根据题目要求,产生随机汉字,我们只学过随机数字,没有见过随机汉字,
但二者是一个映射的关系,故必须找到汉字与数字的关系。
根据此思路,根据网上百度到的正则表达式匹配中文的答案[\u4e00-\u9fa5]
然后再

parseInt("4E00",16)
>> 19968

parseInt("9FA5",16)
>> 40869

40869-19968
>> 20901

于是就有了下面的代码

randomHz=function(){
    eval( "var word=" +  '"\\u' + (Math.round(Math.random() * 20901) + 19968).toString(16)+'"');
    return word;
}
for(i=0;i<100;i++){
    console.log(randomHz());
}

解毕

ps:
这只是理论解答,因为中文字符有近2w个,大家都是用的拼音,而不是五笔,人家根本打不出来的好不好。
你用来产生随机中文字符,必须是大家喜闻乐见的常用汉字!
所以你还是要回归最原始的办法——建立一个数组,放几十个或者几百个常见的字,然后随机产生一个随机数做索引访问即可。

巴扎黑

验证码 用js来写,意义不大, 关掉了js不就over了?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号