JavaScript day10

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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容