8-1 对象习题表单验证

1、对象习题

1、将字符串str = “When I was young, I love a girl in neighbor class.”中,从young提取到girl生成新字符串。但是不许数
            var str = "When I was young, I love a girl in neighbor class.";
            //1、找出位置
            var start = str.indexOf("young");
            var end = str.indexOf("girl") + "girl".length;
            var subStr = str.substring(start, end);
            alert(subStr);
2、将字符中单词用空格隔开

已知传入的字符串中只有字母,每个单词的首字母大写,请将每个单词用空格隔开,只保留一个单词的首字母大写

传入:”HelloMyWorld”

返回:”Hello my world”

/*
                split() 将字符串 -> 数组  通过字符串分割的方式
            */
            /*var str = "HelloMyWorld";
            var arr = str.split("");
            // alert(arr);
            // H,e,l,l,o, ,m,y, ,w,o,r,l,d
            //从头到尾遍历,找大写字母。将其改成小写,并且在这个位置插入空格。
            for(var i = 1; i < arr.length; i++){
                if(arr[i] >= "A" && arr[i] <= "Z"){
                    arr[i] = arr[i].toLowerCase();
                    arr.splice(i, 0, " ");
                }
            }
            alert(arr.join(""));*/
/*
            function wordFromStr(str){
                var arr = str.split("");

                for(var i = 1; i < arr.length; i++){
                    if(arr[i] >= "A" && arr[i] <= "Z"){
                        arr[i] = arr[i].toLowerCase();
                        arr.splice(i, 0, " ");
                    }
                }
                return arr.join("");
            }

            alert(wordFromStr("HelloMyWorld"));*/
3、.已知一个字符串对象中,英语单词用各种非字母字符分割,统计单词的个数

传入: “Yes,she**is%%[email protected]”

        单词判断的标准
        前一个字符是字母,后一个字符是非字母

            function countOfWord(str){
                var count = 0; //用于计数
                for(var i = 0; i < str.length - 1; i++){
                    if(isABC(str[i]) == true && isABC(str[i + 1]) == false){
                        //这就是一个单词
                        count++;
                    }
                }
                return count;
            }

            alert(countOfWord("Yes,she**is%%[email protected]"));

            //判断一个字符是否是字母
            function isABC(charStr){
                if(charStr >= "A" && charStr <= "Z" || charStr >= "a" && charStr <= "z"){
                    return true;
                }else{
                    return false;
                }
            }

2、onblur

    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script>
            /*
                光标获取   获取焦点
                光标离开   失去焦点
            */
        </script>
    </head>
    <body>
        <input type="text" id = "input1" />
    </body>
    <script>
        var oInput = document.getElementById("input1");
        /*
            失去焦点函数
        */
        oInput.onblur = function(){
            alert("失去焦点");
        }
    </script>

3、表单验证

<head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #login{
                width: 400px;
                height: 200px;
                background-color: orange;
                border: 1px solid black;
                text-align: center;
                padding: 20px;
                margin: 100px auto;
            }
            #login input{
                margin-top: 10px;
                width: 280px;
                height: 22px;
                font-size: 15px
            }
        </style>
    </head>

<body>
        <div id = "login">
            <input id = "username" type="text" placeholder="用户名" />
            <br/ >
            <span id = "username_span">6~18个字符,可使用字母、数字、下划线</span><br />
            <input id = "password" type="text" placeholder="密码" />
        </div>
    </body>
    <script>
        var oUsername = document.getElementById("username");
        var oUsername_span = document.getElementById("username_span");

        //失去焦点的时候。判断是否正确
        oUsername.onblur = function(){
            // 1、如果误输入空格,自动纠错 / /g 全局匹配空格
            oUsername.value = oUsername.value.replace(/ /g, "");
            var oValue = oUsername.value;

            // 2、字符串长度必须是6~18位
            if(oValue.length > 18 || oValue.length < 6){
                oUsername_span.innerHTML = "长度应为6~18个字符";
                //设置颜色为红色
                oUsername_span.style.color = "red";
            }else if(oValue[0] >= "0" && oValue[0] <= "9"){
                oUsername_span.innerHTML = "首字母不能为数字";
                //设置颜色为红色
                oUsername_span.style.color = "red";
            }else{

                //整个邮箱都必须符合数字字母下划线
                //dada.dadad
                var isTrue = false; // 没有不符合条件的
                for(var i = 0; i < oValue.length; i++){
                    //一个一个去判断,如果有一个不符合条件,提示错误
                    if(isEmailRule(oValue[i]) == false){
                        isTrue = true;
                        break;
                    }
                }

                if(isTrue){
                    oUsername_span.innerHTML = "只能由数字、字母、下划线组成";
                    oUsername_span.style.color = "red";
                }else{
                    oUsername_span.innerHTML = "符合要求";
                    oUsername_span.style.color = "green";
                }
            }
        }

        //判断一个字符,是否是数字、字母、下划线
        function isEmailRule(charStr){
            if(charStr >= "a" && charStr <= "z" || charStr >= "A" && charStr <= "Z" || charStr >= "0" && charStr <= "9" || charStr == "_"){
                return true;
            }else{
                return false;
            }
        }
        /*
            密码: 1、长度  2、两次输入一致
        */
    </script>

4、字符串作业

/

1.将字符串按照单词进行逆序,空格作为划分单词的唯一条件

传入:”Welome to Beijing”改为 “Beijing to Welcome”

/

            function reverseStr(str){
                var arr = str.split(" ");
                arr.reverse();
                return arr.join(" ");
            }

            /*var str = reverseStr("Welome to Beijing");
            alert(str);*/

/*

2.对称数组

传入一个数组,起元素类型与个数皆未知,返回新数组,

由原数组的元素正序反序拼接而成

传入[“One”, “Two”,”Three”]

返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]

        */
            function symmetryArr(arr){
                //生成新数组
                var newArr = arr.concat();
                for(var i = arr.length - 1; i >= 0; i--){
                    newArr.push(arr[i]);
                }
                return newArr;
            }

            // alert(symmetryArr(["one", "two", "three"]));

/

3.实现函数,查找子串出现的次数,返回字符串str中出现substring的次数

传入:”abcabcabc”, “abc”

返回:3

/

/*
                supStr.indexOf(subStr, 0);
                supStr.indexOf(subStr, 3);
                supStr.indexOf(subStr, 6);
                supStr.indexOf(subStr, 9);

            */

            function countOfStr(supStr, subStr){

                var start = 0;
                var count = 0;
                while(1){
                    start = supStr.indexOf(subStr, start);
                    if(start == -1){
                        break;
                    }
                    count++;
                    start = start + subStr.length;
                }
                return count;
            }

            alert(countOfStr("abcabcabc", "abc"));

/

4.已知千峰邮箱的用户名只能由数字字母下划线组成,域名为@1000phone.com,判断一个字符串是否是千锋邮箱,是返回true,不是返回false。

[email protected] 是

[email protected] 不是

[email protected] 不是

/

                function isEmail(email){
                //1、将末尾的14个字符,提取,判断是否是@1000phone.com
                var lastStr = email.substring(email.length - 14, email.length);
                if(lastStr != "@1000phone.com"){
                    return false;
                }else{
                    var arr = email.split("@");
                    var username = arr[0];

                    var count = 0; //记录有几个非法字符
                    //判断用户名 只能由数字字母下划线组成
                    for(var i = 0; i < username.length; i++){
                        if(isEmailRule(username[i]) == false){
                            count++;
                        }
                    }
                    if(count == 0){
                        return true;
                    }else{
                        return false;
                    }

                }
            }
            var res = isEmail("[email protected]");
            alert(res);
                //判断一个字符,是否是数字、字母、下划线
            function isEmailRule(charStr){
                if(charStr >= "a" && charStr <= "z" || charStr >= "A" && charStr <= "Z" || charStr >= "0" && charStr <= "9" || charStr == "_"){
                    return true;
                }else{
                    return false;
                }
            }
        </script>

原文地址:https://www.cnblogs.com/zhongchao666/p/9275499.html

时间: 2024-10-10 08:34:41

8-1 对象习题表单验证的相关文章

jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

1.表单验证插件--validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options}) 其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置.     2.表单插件--form 通过表单form插件,调用ajaxForm()方法,实现ajax方式向服务器提交表单数据,并通过方法中的option

Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器

from flask import Flask from flask import request from flask import render_template from flask_wtf import CSRFProtect as WTF # 利用表单类去渲染模板时需要用到 from forms import LoginForm app = Flask(__name__) WTF(app) # 在app上注册一个 WTF (所有的flask插件都必须进行注册) app.config.f

django 将view视图中的对象传入forms表单验证模块中

最近在写一个用户详情表单验证模块时出现了一个问题.我想通过forms表单这个模块,实现前端的表格渲染,(如果有值带值渲染到表格中,如果没有值就渲染为空白),并且可以在提交表格后获得forms模块的表单校验功能.这里就出现一个问题了..如果有值就带值渲染到页面,这个可以用js或jq来实现.很简单.但是,例如在定义model时有个别的字段是定义为唯一的unique,那么问题来了.如果将当前表再次提交的话,forms验证组件会反馈错误信息,提示该内容已存在了.那么这时候就需要引入一些条件将自己提交的排

jquery插件,表单验证validation plugin的使用

笔记: 一.首先引入插件 <script type="text/javascript" src="js/jquery-1.10.0.js" ></script> <script type="text/javascript" src="js/jquery.validate-1.13.1.js" ></script> 列子:一个简单的登录表单验证 1 <form id=&quo

AngularJs 表单验证

看到一些博客说这个框架要过时了,但是还是学习了下,觉的很方便的一个框架,有空的同学可以看看,适合我们入门看,比较基础. 对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "

表单验证&amp;lt;AngularJs&amp;gt;

经常使用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,仅仅要在输入字段元素上加入HTML5标记required就可以: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3.

struts2官方 中文教程 系列十一:使用XML进行表单验证

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章节代码 为了使用户能够编辑存储在Person对

angularjs中的表单验证

angular对html原生的form做了封装,增加了很多验证功能 1.代码结构 <form name="signup_form" novalidate ng-submit="signupForm()"> <div> <label>用户名</label> <input type="text" placeholder="Name" name="name"

tp框架表单验证

之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规