window.onload = function () {
1, 注册页面的简单数据校验
// 先去掉两个输入框中的空格
// 用户名长度不低于6,不高于20
// 用户名不可以用数字开头
// 密码不能为空
// 输入框中要有默认提示 (placeholder )
// 点击登录按钮检查是否合法
var input1 = document.getElementById("input11");
var input2 = document.getElementById("input22");
var btn = document.getElementById("btn");
//绑定按钮
//删除空格
//username 限制
//获取值
btn.onclick = function () {
var username = input1.value;
var password = input2.value;
username = username.trim();
password = username.trim();
var nameReg = /^[^0-9].{5,19}/;
if (password.length == 0) {
alert("请输入密码!!!");
}
else if (!(nameReg.test(username))) {
alert("用户名不合规范,请重新输入");
}
else {
alert("登陆成功!")
}
}
}
2, 字母数字组合验证码(四位) (如: 4YT8) (数字,大写字母随机)
// 随即大 写字母随机
function randomMath(m, n) {
var max = m > n ? m : n;
var min = m < n ? m : n;
return parseInt(Math.random() * (max - min + 1) + min);
}
function randomCode(n) {
var code = "";
for (i = 1; i <= 4; i++) {
code += Math.random() > 0.5 ? randomMath(0,9) : String.fromCharCode(randomMath(65,90));
}
return code;
}
console.log(randomCode(4));
3, 将字符串按照单词进行逆序,空格作为划分单词的唯一条件
// 如传入:”Welome to Beijing”改为 “Beijing to Welcome”
var str = "Welcome to Beijing";
var str = str.split(" ").reverse().join(" ");
console.log(str);
4, 对称数组. 传入一个数组,元素类型与个数皆未知,返回新数组,由原数组
// 的元素正序反序拼接而成;
// 如传入[“One”, “Two”,”Three”]
// 返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]
var str = ["One", "Two", "Three"];
str = str.concat([].concat(str).reverse(str));
console.log(str);
var arr = ["One", "Two", "Three"];
var arr2 = [];
for (i = 0; i < arr.length; i++) {
arr2.unshift(arr[i]);
}
console.log(arr.concat(arr2));
5, 实现函数,查找子串出现的次数,返回字符串str中出现子串的次数
// 如传入:”abcabcabc”, “abc”; 返回:3
// “ababacccababa” , “aba” , 返回:2
function fn5(str, char) {
var count = 0;
while (str.indexOf(char) != -1) {
count++;
var num = str.indexOf(char);
str = str.slice(num + char.length);
}
return count;
}
console.log(fn5("abcabcabc", "abc"));
6, 已知千锋邮箱的用户名只能由数字字母下划线组成,域名为@1000phone.com
// ,判断一个字符串是否是千锋邮箱,是返回true,不是返回false。
// mail@1000phone.com 是
// $mail@1000phone.com 不是
// mail@1000phone.comp 不是
var str1 = "mail@1000phone.com";
var str2 = "$mail@1000phone.com";
var str3 = "mail@1000phone.comp";
function fn6(st) {
var rega = /^[A-z0-9_]*(@1000phone.com)$/;
return rega.test(st);
}
console.log(fn6(str1));
console.log(fn6(str2));
console.log(fn6(str3));
7, 将字符中单词用空格隔开
// 已知传入的字符串中只有字母,每个单词的首字母大写,
// 请将每个单词用空格隔开,只保留一个单词的首字母大写
// 传入:”HelloMyWorld”
// 返回:”Hello my world”
var str = "HelloMyWorld";
for (var i = 1; i < str.length; i++) {
if (str[i] >= "A" && str[i] <= "Z") {
str = str.replace(str[i], " " + str[i].toLowerCase());
}
}
console.log(str);
8, 已知一个字符串对象中,英语单词用各种非字母字符分割,统计单词的个数
// 传入: “Yes,she**is%%my@love.” ->Yes she is my love 5个
var str = "Yes,she**is%%my@love.";
str = str.replace(/[^A-z]/g, " ").split(" ");
console.log(str);
for (var i = 0; i < str.length; i++) {
if (str[i] == "") {
str.splice(i, 1);
i--;
}
}
console.log(str.length);