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

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

二、语法:

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

 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 空白字符
    \b 匹配单词边界
    \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="有错误。\n\n";
txt+="描述:"+error.message+"\n\n";
txt+="点击确定。\n\n";
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"]
?>

JavaScript正则、错误处理、操作表单的更多相关文章

  1. Javascript学习笔记四——操作表单

    Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...

  2. (转载)使用JavaScript操作表单

    (转载)http://www.blogjava.net/junglesong/archive/2008/03/02/183263.html 使用JavaScript操作表单 获取表单的引用 在开始对表 ...

  3. 我也谈javascript正则匹配

    一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // ...

  4. JQuery:各种操作表单元素方法小结

    来源:http://www.ido321.com/1220.html 表单元素无处不在,已然成了Web应用不可或缺的一个部分.对表单最最最常见的操作就是获取表单元素的值或者更改表单元素的值.那在JQu ...

  5. 《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

    在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 ...

  6. 前端 ----jQuery操作表单

    05-使用jQuery操作input的value值   表单控件是我们的重中之重,因为一旦牵扯到数据交互,离不开form表单的使用,比如用户的注册登录功能等 那么通过上节知识点我们了解到,我们在使用j ...

  7. Javascript中的Form表单知识点总结

    Javascript中的Form表单知识点总结 在HTML中,表单是由form元素来表示的,但是在javascript中,表单则由HTMLFormElement类型,此元素继承了HTMLElement ...

  8. JavaScript正则式入门

    正则式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规 ...

  9. JavaScript 正则

    元字符 预定义类 边界 ^在中括号中时,匹配非hello的 str = 'hello world' str.match(/[^hello]/g) //[" ", "w&q ...

随机推荐

  1. Socket通信,基本方法介绍

    Socket是什么呢? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口. 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口 ...

  2. Fortify Audit Workbench 笔记 Unreleased Resource: Database( 未释放资源:数据库)

    Unreleased Resource: Database 未释放资源:数据库 Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资 ...

  3. Servlet学习之Tomcat控制台中文乱码问题

    Tomcat控制台中文乱码问题 在更新了IDEA2020.1版本后,可以安装官方的简体中文插件,方便我们日常使用,但是更新后再运行Tomcat时,控制台的输出日志出现中文乱码问题,接下来告诉大家如何修 ...

  4. MacOS SVN简单入门

    背景:MacOS内置了SVN的客户端和服务器端的软件,下边所使用到的目录需要结合自己电脑的具体情况进行设置,并不是很困难. MacOS SVN简单入门 第一部分,创建本地的SVN测试仓库,并修改相应的 ...

  5. 无法安装 VMware Tools。尝试访问安装 VMware Tools 所需的图像文件“/usr/lib/vmware/isoimages/linuxPreGlibc25.iso”时出错: 2 (No such file or directory)。请参考产品文档或知识库文章 2129825,了解关于如何获取该客户机操作系统的 VMware Tools 软件包的详细信息。

    无法安装 VMware Tools.尝试访问安装 VMware Tools 所需的图像文件"/usr/lib/vmware/isoimages/linuxPreGlibc25.iso&quo ...

  6. Django学习路9_流程复习

    以下图示为 学习过程中,在千锋教育视频上截图的                     视频链接: https://www.bilibili.com/video/BV1rx411X717?p=11 2 ...

  7. 一款功能简约到可怜的SQL 客户端

    你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough ...

  8. PHP get_browser() 函数

    实例 查阅用户的 browscap.ini 文件,并返回用户浏览器的性能: <?phpecho $_SERVER['HTTP_USER_AGENT'];$browser = get_browse ...

  9. Chrome IDM下载插件安装使用方法

    一. 下载IDM (1)官方网站: http://www.internetdownloadmanager.com/download.html 二.安装IDM IDM安装 (1)运行安装程序    前进 ...

  10. luogu P1452 [USACO03FALL]Beauty Contest G /【模板】旋转卡壳

    LINK:旋转卡壳 如题 是一道模板题. 容易想到n^2暴力 当然也能随机化选点 (还真有人过了 考虑旋转卡壳 其实就是对于某个点来说找到其最远的点. 在找的过程中需要借助一下个点的帮助 利用当前点到 ...