zoukankan      html  css  js  c++  java
  • JavaScript正则、错误处理、操作表单

    一、正则表达式:用单个字符串描述或者匹配符合特定语句规则的字符串

      一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索,可以去替换

    二、语法:

      /表达式/修饰符(可选)
     

     var para=/icq/I; //不区分大小写

      使用search( ),replace( ) 去和正则表达式结合使用。

        var str="I'm a Hacker";
        var n=str.search(/hacker/i); //匹配的字符串的索引值
    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <p>替换“icq”为“pentest”:</p>
        <button onclick="myFunction()">点我</button>
        <p id="demo">Visit icq</p>
        <script type="text/javascript">
            function myFunction(){
                var str = document.getElementById('demo').innerHTML;
                var txt = str.replace(/icq/i,"pentest");
                document.getElementById("demo").innerHTML = txt
            }
        </script>
    </body>
    </html>

      

      修饰符:I 忽略大小写 g 全局匹配 m 多行匹配
    三、正则表达式中常用的模式
        [abc] 匹配其中任意一个字符
        [0-9] 匹配0到9任意一个数字

    <meta charset="utf-8">
    <script type="text/javascript">
        var str="icq4de&_dDe";
        var n=str.search(/[0-9]/);
        document.write(n);
    </script>

        (x|y) 查找任意 | 分割的选项
      元字符(有特殊含义的字符):
        d 数字
        s 空白字符
         匹配单词边界
        u XXXX 后跟十六进制 unicode字符
      量词:
        n+ 至少匹配一个n
        n* 匹配 0 个或多个 n
        n? 匹配 0 个或只 1 个 n

    var pa=new RegExp();

        该对象定义了属性和方法的的正则表达式

    • test() 它是正则表达式的方法 var para="/test/i";para.test(完整的原始的字符)

        检测字符中是否有我们想要的结果,如果找到,返回true。test和 new结合使用

    <meta charset="utf-8">
    <script type="text/javascript">
      var str="icq4de&_dDe";
      var n=str.search(/[0-9]/);
      var pa=new RegExp("o"); //实例化的过程、new对象
      document.write(pa.test("test 0 pentesto")); //在pentesto 中找 o
    </script>
    • exec()该函数返回一个数组,其中存放匹配的结果(第一个)
    <meta charset="utf-8">
    <script type="text/javascript">
        var str="icq4de&_dDe";
        var n=str.search(/[0-9]/);
        var pa=new RegExp("o"); //实例化的过程、new对象
    document.write(pa.exec("test o pentesto")[0]); //在pentesto 中找 o
    </script>

    四、JS错误处理

      1、语法:

        try{
        //异常的抛出,可能要出问题的代码,写在这里
          }catch(e){ //抛出异常对象的名字 e.message 这是具体的异常信息
        //异常的处理,针对抛出的问题,需要怎么处理,对应的代码写在这里
          }finally{
        //结束之后的处理,不管是否异常,或者异常怎么处理,都要执行
          }
        throw 语句允许我们自定义错误, throw + 自定义的异常信息
          注意:catch(e){}中的e就是用户自定义的错误,不需要使用e.message

        <meta charset="utf-8">
        <script type="text/javascript">
            var txt="";
            function message() {
                try{
                    adddlert("welcome!!");
                }
                catch(error){
                    txt="有错误。
    
    ";
                    txt+="描述:"+error.message+"
    
    ";
                    txt+="点击确定。
    
    ";
                    alert(txt);
                }
            }
        </script>
        <input type="button" name="bu" value="点我" onclick="message()">

      

     五、操作表单

      1、获取输入框中的数据发送给另一个页面

    <!DOCTYPE html>
    <html>
    <head>
      <title></title>
      <meta charset="utf-8">
      <script type="text/javascript">
        function check_from() {
          var date=document.forms["myform"]["myname"].value;  
        //获取名称为myform的表单,然后操作名称为myname的输入框
          if (date==null||date=="") {
            alert("请输入名字!");
            return false;
          }
        }
      </script>
    </head>
    <body>
      <form name="myform" action="deal.php" method="post" onsubmit="return check_from()">
        姓名:<input type="text" name="myname" >
        <input type="submit" value="提交">
      </form>
    
    </body>
    </html>

      发送到:deal.php

    <?php
    echo "<meta charset='utf-8'>";
    echo "你的名字:".$_POST["myname"];
    ?>

      2、获取输入框中的邮箱,发送到另一个页面

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <meta charset="utf-8">
        <script type="text/javascript">
            function checkform(argument) {
                var x=document.forms["myform"]["email"].value;
                var index_k=x.indexOf("@");
                var index_o=x.indexOf(".");
                if (index_k<1||index_o<index_k+2||index_o+2>=x.length) {
                    //@符号前面必须要有内容--->index("@")>=1
                    //.后面必须要有内容---->index(".")+1<=x的总长度
                    //index(".")-index("@")>=1
                    alert("Email格式不合法");
                    return false;
                }
            }
        </script>
    </head>
    <body>
    <form name="myform" action="test.php" method="post" onsubmit="return checkform()">
        邮箱:<input type="text" name="email">
        <input type="submit" name="提交">
        
    </form>
    </body>
    </html>

      发送到test.php

    <?php
    echo "邮箱:".$_POST["email"]
    ?>
  • 相关阅读:
    ubuntu /etc/rc.local 不执行
    HTML中设置页面内嵌跳转
    JS使用AudioContext播放音乐
    Unity实现摄像机以某个物体为中心旋转
    Unity中实现通过鼠标对物体进行旋转平移缩放
    解决Windows上无法创建以点开头的文件问题
    解决FBX模型导入Unity后没有贴图的问题
    nedb中使用update更新数据的原理
    Electron 渲染进程中解决require is not defined的问题
    Base64转Blob的方式
  • 原文地址:https://www.cnblogs.com/yuanshu/p/11593886.html
Copyright © 2011-2022 走看看