博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS邮箱验证-正则验证
阅读量:4360 次
发布时间:2019-06-07

本文共 2314 字,大约阅读时间需要 7 分钟。

<form action="">

  输入:<input type="text" name="mazey" id="mazey" placeholder="请输入邮箱">
  <input type="button" value="验证" οnclick="check();">
</form>

<script>

function check(){
  var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); //正则表达式
  var obj = document.getElementById("mazey"); //要验证的对象
  if(obj.value === ""){ //输入不能为空
    alert("输入不能为空!");
    return false;
  }else if(!reg.test(obj.value)){ //正则验证不通过,格式不对
    alert("验证不通过!");
    return false;
  }else{
    alert("通过!");
    return true;
  }
}
</script>


一、RegExp

1.1 创建RegExp对象

new RegExp("必选,正则表达式","可选,匹配模式g,i,m")

1.2 RegExp对象的方法

  • test:检索字符串中的指定值,返回True或False。
  • exec:检索字符串中的指定值,返回找到的值,没有则null。
  • complie:用于改变正则表达式,或增删匹配模式。
1.2.1 test()
var r1 = new RegExp('world');console.log(r1.test('Hello, world!')); //trueconsole.log(r1.test('Hello, World!')); //falsevar r2 = new RegExp('world', 'i'); //大小写不敏感console.log(r2.test('Hello, World!')); //truevar r3 = new RegExp(/world/i); //简写console.log(r3.test('Hello, World!')); //true
1.2.2 exec()
var r1 = new RegExp('world');console.log(r1.exec('Hello, world!')); //['world']console.log(r1.exec('Hello, World!')); //nullvar r2 = new RegExp('world', 'i'); //大小写不敏感console.log(r2.exec('Hello, World!')); //['world']var r3 = new RegExp(/world/i); //简写console.log(r3.exec('Hello, World!')); //['world']var r4 = new RegExp('o');console.log(r4.exec('Hello, World!')); //['o']var r5 = new RegExp('o', 'gi');console.log(r5.exec('Hello, WOrld!')); //['o']console.log(r5.lastIndex); //5 匹配文本的第一个字符的位置,o为4,下一个位置为5console.log(r5.exec('Hello, WOrld!')); //['O'] 匹配完第一个o后调用继续匹配console.log(r5.lastIndex); //9console.log(r5.exec('Hello, WOrld!')); //null 匹配不到返回nullconsole.log(r5.lastIndex); //0 lastIndex重置为0
1.2.3 complie()
var r1 = new RegExp('world');console.log(r1.exec('Hello, world!')); //['world']r1.compile('o');console.log(r1.exec('Hello, World!')); //['o']r1.compile('m');console.log(r1.exec('Hello, World!')); //nullvar r2 = new RegExp('world');console.log(r2.test('Hello, world!')); //truer2.compile('mazey');console.log(r2.test('Hello, world!')); //false

二、正则表达式

  • ^$:表示匹配值的开始和结尾。
  • +:1+,一个或更多。
  • *:0+,零个或更多。
  • ?:0/1,零个或一个。
  • {1,2}:1<=length<=2,长度。
  • ():表示一个表达式的组。
  • []:匹配的字符范围,我理解为一个块,很多块放在一个组()里面。

三、示例

输入:

转载于:https://www.cnblogs.com/mazey/p/6523917.html

你可能感兴趣的文章
动态规划-带权区间问题
查看>>
fstream,sstream的学习记录
查看>>
PAT 1061. Dating
查看>>
Transaction
查看>>
JAVA内存解析
查看>>
20180925-7 规格说明书-吉林市2日游
查看>>
Windows下VMware14黑屏
查看>>
Nginx解析PHP
查看>>
PHP之选择排序法
查看>>
beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理
查看>>
在k8s集群中,利用prometheus的jmx_exporter进行tomcat的JVM性能监控,并用grafana作前端展示...
查看>>
伤透了心的pytorch的cuda容器版
查看>>
MYSQL的硬盘IO过高引起的CPU过高判断
查看>>
PYTHON多进程样码
查看>>
JDBC插入数据超长时无法自动截断问题
查看>>
javascript之,深扒typeof,instanceof操作符
查看>>
18.1 C语言编程集锦
查看>>
node.js安装使用express框架
查看>>
Daily Scrum 1/7/2015
查看>>
leetcode 15.三数之和
查看>>