如何判断用户输入的邮箱格式是否正确?
用户名@网站名-例sina.com、tom.com、yahoo.com.cn……(有些小网站的邮箱在填资料时不认,所以推荐用网站的邮箱)
- 就是用如下特殊符号或其组合来代表某个字符(以下符号可以通配所有字符)
符号 说明 . 代表除换行符以外的任意字符 \w 代表字母或数字或下划线或汉字 \s 代表任意的空白符 \d 代表数字 \b 代表单词的开始或结束 ^ 代表字符串的开始 $ 代表字符串的结束
如 abc120 可以用这样的正则表达式表示: \w\w\w\d\d\d, 或者 \w\w\w\w\w\w 或者 ...... (六个英文句点) 等等...
- 用如下符号来代表某个可能字符的集合
[ ]
如电话号码的第n位,一定属于这个集合 [0-9] ,即0到9;某个外国人名字的第n个字母,一定属于这个集合 [a-z A-Z],即26个英文字母的大小写组成的集合
- 用如下符号来代表 上面所表达的某个字符或某个集合的重复:
符号 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次
- 然后剩下的符号基本就是原意了,如 邮箱符号 @ 就表示邮箱符号,等号 = 就表示等号, 横杠 - 就表示横杠等
举个例子吧,给你解释一下下面这个判断邮箱格式的正则表达式的意思(下面看不懂的可以查看上面给的各个符号的意义):
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\\.[a-zA-Z0-9_-]+$
把上面的表达式分段,并介绍每个字段的意思
1 ^ ;2 [a-zA-Z0-9_-]+ ;3 @ ; 4 [a-zA-Z0-9_-]+ ; 5 \\. ;6 [a-zA-Z0-9_-]+ ;7 $
- ^ 代表一切判断从此处开始 (段1)
- [a-zA-Z0-9_-] 方括号表示集合 这个方括内的意思是告诉执行程序的那货(其实就是电脑):嘿,编译器老兄,你帮我看看这个邮箱地址的第一个字符,只要它属于集合[a,z],或者集合[A,Z],或者集合[0,9],或者集合{”_“ , ”-“}的话,你就随时待命,准备执行我下一步的任务;否则,你就可以先下班,别鸟这个邮箱地址了,它的格式肯定是错的
- + 加号表示重复一次或多次 加号的意思是告诉电脑:嘿,编译器老兄,你顺便帮我看看这个邮箱地址的第二个字符、第三个字符、第四个字符......看看这些字符是不是都属于同上一条的那些集合(即重复)。如果符合,你就再顺便帮我判断第五个字符是不是也属于上条那些集合呗...嘿嘿 (段2)
- 编译器这时候就疑惑且不高兴了,它反问我一句:尼玛,难道让我一个字符一个字符的一直判断下去?!我多会才能停呀...
- 这时候我告诉编译器,嗯,记住,当你看到一个字符长得像这个样子的时候,你就可以先停一停了...
- "@" 艾特符 (段3)
- 编译器很高兴,于是它就根据给定的邮箱地址,开始一个字符一个字符地判断起来,直到它顺利地看见了”@“(艾特符),这时编译器喜上眉梢,只见他长出一口气,刚准备说:我先歇一会...
- 这时我告诉编译器:不行不行,工作还没完成呢,你继续帮我判断跟在”@“符号后的那些字符,看看他们是不是属于第一条的那些集合( 段4)...
- 编译器撅着嘴继续判断起来,然后他一边判断一边又问:那我多会才停下来呢?
- 我告诉编译器,当你看见这个字符的时候就先停下来
- ”.“ 英文句号 (段5)
- 编译器于是继续判断着,奇了怪了这邮箱地址格式一路正确,于是它走到了英文句号跟前(”.“)停下了,看上去有点想罢工的样子了
- 于是我赶紧说道,老兄,最后一件工作了,真的最后一件了!把跟在英文句号(”.“)之后的那些字符也依次判断一下吧,只要他们仍属于第一条所列的那些集合,你就可以停下了,下班回去嘿咻了... (段6)
- 编译器此时面露喜色,跟着开始判断起英文句号(".")之后的那些字符来,但是他突然脸一黑,想到:尼玛,要是这个字符有100多个,1000多个,难道我就一直这么判断下去,我不走火入魔了才怪呢!于是他对我说:要是有1000多个字符,难道就让我一个一个判断下去,我根本下不了班了呀!
- 我说:老兄,不用着急。首先,你不会遇到这么长的字符,其次,记住,只要你看见下面这个字符,就可以彻底下班走人了。
- 这个字符就是:”$” 刀勒符,它的意思就是告诉编译器,判断条件已经到结尾,一切判断到此为止 (段7)
下面举一个例子:
var sletter=document.f1.letter.value; //获取表单对象的值 if(sletter!=""){var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;isok=reg.test(sletter);}if (!isok) {alert("邮箱格式不正确!");return false;}
如何判断用户输入的邮箱格式是否正确?相关推荐
- js luhn算法_判断用户输入的银行卡号是否正确--基于Luhn算法的格式校验
开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS ...
- java输入正确的信息_判断用户输入的信息是否正确
package com.Embed.util; import java.sql.Connection; import java.sql.DriverManager; import java.text. ...
- 判断邮箱 格式是否正确
/练习:判断邮箱格式是否正确 //1.有且只能有一个@ contains @ indexof @=lastindexof //2.不能以@开头 indexof != 0 //3.@之后至少有一个. / ...
- 用户输入邮箱,验证邮箱格式是否正确(验证用户输入的邮箱地址中是否含有字符'@')
要求:用户输入邮箱,验证邮箱格式是否正确(验证用户输入的邮箱地址中是否含有字符'@'). 目的:掌握邮箱验证控件的原理和方法. #include<stdio.h> #include< ...
- html正则邮箱格式,JS正则表达式判断邮箱格式是否正确
用indexOf()函数也可判断邮箱格式中是否可以包含"@",看上去似乎可以判断成功了,但稍懂点JS的一看就知道问题出在哪儿?就连我这JS菜鸟也发现问题了. 举个例子,一般的邮箱格 ...
- 判断用户输入的日期是否为当前日期
应用java.util.Calendar类实现,首先使用该类的getInstance()方法来获取系统当前时间的日历对象,再使用该对象中提供的方法获得当前时间 创建一个当前时间的Calendar对象 ...
- python编写一个程序、输入一个数判断其是偶数还是奇数_编写一个程序,判断用户输入的整数是偶数还是奇数。 (7.0分)_学小易找答案...
[其它]已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1] (6.0分) [其它]阅读下面的程序,分析代码是否可以编译通过,如果能编译通过,请列出运行 ...
- 判断用户输入的数是正数还是负数
编写一个程序,判断用户输入的数是正数还是负数 der_1 = (lambda x:"正数" if x > 0 else "负数" if x < 0 ...
- 【JS】判断用户输入的用户名首位是否是字母
判断用户输入的用户名首位是否是字母 https://codepen.io/sam9029/pen/xxWrGRw 思路: 方法1. 正则 /[a-z]/i 方法2. ASCII码 A-Z的ascii码 ...
最新文章
- python与数据思维基础笔记_Python小课笔记--Python基础:数据和函数(二)
- 学校通用计算机保护,浅谈学校计算机教室软件系统的保护.docx
- Mysql 死锁过程及案例详解之显式与隐式锁Explicit Table Lock Implicit Table Lock
- mysql锁表查询_Mysql数据库锁情况下开启备份导致数据库无法访问处理分享
- 位运算-查找数组中唯一成对的数
- [计算机网络][总结][常见问题][TCP][三次握手][四次挥手]
- Flask自定义时间过滤器
- openlayer右键菜单_OpenLayers添加右键菜单
- 添加类库引用后,命名空间出错的解决方案
- 产品配件类目税目分类_商品及税收分类编码选择技巧
- Linux ida 代码,[分享][下载]IDA Pro 7.5 Linux Demo
- PSP战神 斯巴达勇士 游戏ISO文件和完美通关存档和金手指
- Ricequant 平台入门--回测第一个量化交易策略
- 计算机网络网线制作教案,制作网线教案.doc
- CSS 使用多张背景图
- php中alight是什么意思,进阶PHP需要注意的一些点
- C++ 复数计算器 简单代码
- 找一找马里奥-第14届蓝桥杯STEMA测评Scratch真题精选
- 解析少儿编程中的运用的科技语言
- 凯捷Java二面问题总结