JS邮箱验证-正则验证

摘要:
complie:用于改变正则表达式,或增删匹配模式。'));//falsevarr2=newRegExp;//大小写不敏感console.log(r2.test('Hello,World!'));//['O']匹配完第一个o后调用继续匹配console.log;//9console.log(r5.exec('Hello,WOrld!'));//false二、正则表达式^$:表示匹配值的开始和结尾。:0/1,零个或一个。reg.test){//正则验证不通过,格式不对alert("验证不通过!");returntrue;}}JavaScript邮箱验证-正则验证

<form action="">
输入:<input type="text" name="mazey" placeholder="请输入邮箱">
<input type="button" value="验证" onclick="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!')); //true
console.log(r1.test('Hello, World!')); //false
var r2 = new RegExp('world', 'i'); //大小写不敏感
console.log(r2.test('Hello, World!')); //true
var 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!')); //null
var 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,下一个位置为5
console.log(r5.exec('Hello, WOrld!')); //['O'] 匹配完第一个o后调用继续匹配
console.log(r5.lastIndex); //9
console.log(r5.exec('Hello, WOrld!')); //null 匹配不到返回null
console.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!')); //null
var r2 = new RegExp('world');
console.log(r2.test('Hello, world!')); //true
r2.compile('mazey');
console.log(r2.test('Hello, world!')); //false

二、正则表达式

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

三、示例

<form action="">
输入:<input type="text" name="mazey"   placeholder="请输入邮箱">
<input type="button" value="验证" onclick="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>

JavaScript邮箱验证-正则验证

免责声明:文章转载自《JS邮箱验证-正则验证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比【新特性速递】工具栏自动换行,再也不会重叠了!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】Jmeter如何把响应数据的结果保存到本地的一个文件

当做性能压测时,可能会需要把响应数据的一些字段统计出来。这里简单介绍一下。 1、首先把接口调通,确定需要统计的字段,这里以统计ccmpSeq字段来做例子。 2、添加正则表达式提取器,用来提取响应结果中的ccmpSeq 正则表达式用""包起来,如HTTP请求完成后的响应数据 {"ccmpSeq":"CBS_queryBalance20171023131...

js 清空文本框

js清空文本框: TextBox 服务器,客户端都清空   /// <summary>    /// 清空文本框    /// </summary>    /// <param name="controls"></param>    public void EmptyTextBox(ControlColle...

异步加载js文件的方法总结

方法一,jQuery.getScript HTML 代码: 代码如下 复制代码 <button id="go">Run</button><div class="block"></div> jQuery 代码: jQuery.getScript("http://dev.jquery.com/view/trun...

Vue js 的生命周期详解

Vue 实例的生命周期 Vue 实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列 过程,我们称这是 Vue 的生命周期。通俗说就是 Vue 实例从创建到销毁的过程,就是生命周期。 在Vue的整个生命周期中,它提供了一些生命周期钩子,给了我们执行自定义逻辑的机会。 它可以总共分为8个阶段: befo...

全面理解js面向对象

前言 当今 JavaScript 大行其道,各种应用对其依赖日深。web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而忽略了对原生 JavaScript 的学习和深入理解。所以,经常出现的情况是,很多做了多年 JS 开发的程序员对闭包、函数式编程、原型总是说不清道不明,即使使用了框架,其代码组织也非常糟糕。这都是对...

关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!

摘要:GaussDB(DWS)除了支持标准的POSIX正则表达式句法,还拥有一些特殊句法和选项,这些你可了解?本文便为你讲解这些特殊句法和选项。 概述 正则表达式(Regular Expression,简称RE),通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式使用比较灵活,功能强大,因此经常被用到进行文本的搜索和替换中,帮助开发人员快速进...