随机获取验证码
- 纯数字组成的验证:即验证码的每一位都是数字,每一个数字的范围是 0~9,这种验证码非常容易破解,现在不怎么使用了
利用 parseInt(Math.random() * 10); 就可以得到一位验证码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>Document</title>
<script>
//n位验证码 每一个数字的范围 0~9 parseInt(Math.random() * 10);
function numTestCode(n){
var arr = []; //存储生成的数字
for(var i = 0; i < n; i++){
var num = parseInt(Math.random() * 10);
arr.push(num);
}
return arr.join("");
}
alert(numTestCode(6));
</script>
</head>
<body>
</body>
</html>
- 数字和字符组成的验证码:
- 0~9
- a-z : ASCII码值为97~122
- A-Z : ASCII码值为65~90
所以获得这种验证码的方法是取 0~122 的随机数
function testCode(n){
var arr = [];
for(var i = 0; i < n; i++){
var num = parseInt(Math.random() * 123);
if(num >= 0 && num <= 9){
arr.push(num);
}else if(num >= 97 && num <= 122 || num >= 65 && num <= 90){
arr.push(String.fromCharCode(num));
}else{
i--;
}
}
return arr.join("");
}
alert(testCode(6));
点击按钮获取验证码
- 基本的DOM操作-事件驱动函数
- document.getElementById(id) : 通过id获取页面上对应的标签
- node.innerHTML : 标签间的内容
- 通过div写一个验证码框和点击按钮,通过点击按钮每次获得不同的验证码值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>Document</title>
<style>
#div1{width: 100px; height: 30px; border: 1px solid black; text-align: center; line-height: 30px; font-size: 18px}
</style>
<script src = 'tool.js'></script>
<script>
function btnClick(){
//拿到div这个标签
var oDiv = document.getElementById("div1");
// alert(oDiv.innerHTML); 取值
// oDiv.innerHTML = '赋值';
oDiv.innerHTML = testCode(6);
}
</script>
</head>
<body>
<div id = 'div1'>000000</div>
<!-- 点击按钮,就会执行后面字符串中的代码 -->
<button onclick = 'btnClick();'>获取验证码</button>
</body>
</html>
将之前写的获取验证码的方法放进"tool.js"文件中,在html文件中通过 <script src = 'tool.js'></script>
引用
//tool.js中
function numTestCode(n){
var arr = []; //存储生成的数字
for(var i = 0; i < n; i++){
var num = parseInt(Math.random() * 10);
arr.push(num);
}
return arr.join("");
}
function testCode(n){
var arr = [];
for(var i = 0; i < n; i++){
var num = parseInt(Math.random() * 123);
if(num >= 0 && num <= 9){
arr.push(num);
}else if(num >= 97 && num <= 122 || num >= 65 && num <= 90){
arr.push(String.fromCharCode(num));
}else{
i--;
}
}
return arr.join("");
}
点击“获取验证码”
题
代码
char * longestPalindrome(char * s){
int len = strlen(s), start = 0, max = 0;
for (int i = 0; i < len; i++) {
int left = i - 1, right = i + 1;
while (left >= 0 && right < len && s[left] == s[right]){
left--;
right++;
}
if (right - left - 1 > max) {
start = left + 1;
max = right - left - 1;
}
}
for (int i = 0; i < len; i++) {
int left = i, right = i + 1;
while (left >=0 && right < len && s[left] == s[right]) {
left--;
right++;
}
if (right - left - 1 > max) {
start = left + 1;
max = right - left - 1;
}
}
s[start + max] = '\0';
return s + start;
}