扫码关注官方订阅号
我现在有一个需求,要生成汉字的验证码,如何用js随机生成汉字?
欢迎选择我的课程,让我们一起见证您的进步~~
解: 根据题目要求,产生随机汉字,我们只学过随机数字,没有见过随机汉字, 但二者是一个映射的关系,故必须找到汉字与数字的关系。 根据此思路,根据网上百度到的正则表达式匹配中文的答案[\u4e00-\u9fa5] 然后再
[\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中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
解:
根据题目要求,产生随机汉字,我们只学过随机数字,没有见过随机汉字,
但二者是一个映射的关系,故必须找到汉字与数字的关系。
根据此思路,根据网上百度到的正则表达式匹配中文的答案
[\u4e00-\u9fa5]然后再
于是就有了下面的代码
解毕。
ps:
这只是理论解答,因为中文字符有近2w个,大家都是用的拼音,而不是五笔,人家根本打不出来的好不好。
你用来产生随机中文字符,必须是大家喜闻乐见的常用汉字!
所以你还是要回归最原始的办法——建立一个数组,放几十个或者几百个常见的字,然后随机产生一个随机数做索引访问即可。
验证码 用js来写,意义不大, 关掉了js不就over了?