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"]
    ?>
  • 相关阅读:
    数据绑定表达式语法(Eval,Bind区别)
    使用博客园的第一件事 自定义主题
    sql2000 跨服务器复制表数据
    使用UpdatePanel 局部刷新出现中文乱码的解决方法!!
    MMC不能打开文件MSC文件
    sql 日期 、时间相关
    loaded AS2 swf call function in AS3 holder
    Rewrite the master page form action attribute in asp.net 2.0
    100万个不重复的8位的随机数
    flash 中实现斜切变型
  • 原文地址:https://www.cnblogs.com/yuanshu/p/11593886.html
Copyright © 2011-2022 走看看