当前位置: 首页 > Web前端 > JavaScript

JavaScript正则表达式(手机号、邮箱、日期)

时间:2023-03-27 00:29:47 JavaScript

JavaScript正则表达式(手机号、邮箱、日期)在平时的工作中,我们经常会遇到一些验证函数,比如号码、邮箱、日期类的验证,但是在平时使用,我只是抄了一份,并没有详细研究,所以在这里记录一些常用的表达方式,边慢慢学习边分享给大家。由于现在使用的是虚拟号码,手机号码的第二位不像前面的3|4|5|8那么固定,所以这里选择3-9letregu=/^1[3-9][0-9]{9}$/Email邮箱,查了资料发现基本都是name@@domainname的规律,所以根据这个大致可以分为几类1.仅由英文字母、数字、下划线、英文句点和破折号组成。例如:mailto:zhangsan-111@gmail.com,通过名称解析可以分解成英文大小写字母、数字、下划线、破折号。因为有多个数字,所以最后要加一个+号letregu=/[a-zA-Z0-9_-]+/通过域名解析,域名的格式一般都是.的格式,比如如qq.com、163.com、sohu.com等,所以可以大致使用上面的正则模式,然后再使用一些..**格式,所以应该写成(.[a-zA-Z0-9_-]+)+letregu=/[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+/最终表达式letregu=/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/2.名称允许汉字、数字、字母,域名只允许英文。例如:张三mailto:110Abc@lenovo.com.cn中文正则为[\u4e00-\u9fa5]通过邮件格式和上面的推导结果,我们可以得到上面邮箱的正则表达式letregu=/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/日期和时间已过日期日期格式为yyyy-MM-dd。年份的第一部分一般不能为0([1-9]\d{3}),日期分为一月-九月((0[1-9])和10-12月(1[0-2]),天数分为0-9(0[1-9]),10-29(1-2),30-31(3[0-1])三种写法情况。让regu=/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;时间格式为hh:mm:sshh:一天有24小时,所以可以分为0-19([0-1]\d)和20-24(2[0-3])来写,分和秒都是1-59秒,所以都写成[0-5]\dletregu=/^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/拼接得到上面的正则,拼接在一起,可以得到日期加时间的正则letregu=/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(2[0-3]|[0-1]\d):[0-5]\d:[0-5]\d$/\