JS正则表达式验证账号、手机号、电话和邮箱是否合法

yizhihongxing

下面我将介绍使用JavaScript正则表达式来验证账号、手机号、电话和邮箱是否合法的方法。

验证账号

账号的验证规则是由字母、数字、下划线组成的,长度为4-16位。我们可以使用正则表达式来进行验证。具体代码如下:

function validateUsername(username) {
  var pattern = /^[a-zA-Z0-9_]{4,16}$/;
  return pattern.test(username);
}

说明:/^表示匹配字符串的开始,$/表示匹配字符串的结束,[a-zA-Z0-9_]表示字母、数字、下划线的一个字符,{4,16}表示字符的长度范围为4-16。

验证手机号

手机号的验证规则是11位数字,且以13/14/15/17/18开头。我们可以使用正则表达式来进行验证。具体代码如下:

function validateMobilePhone(phone) {
  var pattern = /^1[3456789]\d{9}$/;
  return pattern.test(phone);
}

说明:^1表示以1开头,[3456789]表示第二位是3、4、5、6、7、8、9中的一个数字,\d表示数字,{9}表示后面的数字为9位。

验证电话

电话的验证规则是3-4位区号,7-8位电话号码,中间用“-”连接。我们可以使用正则表达式来进行验证。具体代码如下:

function validateTelephone(telephone) {
  var pattern = /^0\d{2,3}-?\d{7,8}$/;
  return pattern.test(telephone);
}

说明:^0表示以0开头,\d{2,3}表示后面的数字为2到3位,-?表示“-”可选,\d{7,8}表示后面的数字为7到8位。

验证邮箱

邮箱的验证规则是由字母、数字、下划线、点和@组成的,在@符号前面的可以是字母、数字、下划线、点和加号,后面的可以是字母、数字、下划线、点和连接线。我们可以使用正则表达式来进行验证。具体代码如下:

function validateEmail(email) {
  var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  return pattern.test(email);
}

说明:\w表示字母、数字、下划线的一个字符,[-+.]\w+表示连接线、加号、点后面跟着多个字母、数字、下划线的字符,\.\w+表示点后面跟着多个字母、数字、下划线的字符,([-.]\w+)*表示连接线、点后面跟着多个字母、数字、下划线的字符可选。

示例1:

console.log(validateUsername('fafa4f')); // true
console.log(validateMobilePhone('15555555555')); // true
console.log(validateTelephone('010-88888888')); // true
console.log(validateEmail('test@test.com')); // true

示例2:

console.log(validateUsername('a^bcdefg1')); // false,账号中包含非法字符^
console.log(validateMobilePhone('12222222222')); // false,手机号码格式不正确
console.log(validateTelephone('010-8888888')); // false,电话号码位数不对
console.log(validateEmail('test@test')); // false,邮箱格式不正确

希望以上内容可以帮助你理解JavaScript正则表达式的匹配规则。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS正则表达式验证账号、手机号、电话和邮箱是否合法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 详解js静态资源文件请求的处理

    下面是关于“详解JS静态资源文件请求的处理”的完整攻略: 前言 JavaScript作为前端开发中不可或缺的一环,其所依赖的静态资源文件如CSS、图片、字体等也同样不可或缺。在网站开发中,如何优化这些资源文件的请求方式,以提高页面加载速度和用户体验,是一个很重要的问题。本文将对JavaScript静态资源文件请求的处理进行详细讲解。 加载方式 JavaScr…

    JavaScript 2023年5月27日
    00
  • 深入理解JavaScript高级之词法作用域和作用域链

    深入理解JavaScript高级之词法作用域和作用域链 什么是词法作用域 词法作用域是指JavaScript代码的作用域是基于源代码中变量和函数声明的位置来确定的,而不是基于运行时的调用栈。换言之,词法作用域与代码的声明位置有关。 例如,下面的代码示例中,bar函数在foo函数内部定义,因此它的作用域(也称为“词法环境”)包含了foo函数范围内的变量,即x变…

    JavaScript 2023年5月27日
    00
  • 用js编写的简单的计算器代码程序

    为了编写一个简单的计算器程序,我们可采用HTML、CSS、JavaScript等技术。下面将分步骤讲解如何制作一个基于JS编写的简易计算器程序。 步骤一:创建基本的HTML代码 我们需要创建一个空白的HTML文件,并添加必要的元素,例如标题,文本输入框和按钮。通过以下HTML代码可以实现: <!DOCTYPE html> <html>…

    JavaScript 2023年5月27日
    00
  • JavaScript实现页面跳转的几种常用方式

    下面是讲解“JavaScript实现页面跳转的几种常用方式”的完整攻略。 一、直接修改location.href属性 我们可以使用JavaScript代码直接修改当前页面的location.href属性,实现页面的跳转。示例代码如下: // 直接跳转到指定URL的页面 location.href = ‘https://www.example.com’; //…

    JavaScript 2023年5月27日
    00
  • 基于JS实现01支付后的10秒倒计时

    要实现基于JS的10秒倒计时,可以采用以下步骤: 1.在HTML中创建倒计时显示元素 首先,在HTML中创建一个元素用于显示倒计时,例如: <div id="countdown">10</div> 这是一个div元素,给它一个id,方便在JS中获取并修改其内容。 2.利用JS实现倒计时功能 然后,在JS中获取倒计时…

    JavaScript 2023年6月11日
    00
  • BOM与DOM的区别分析

    BOM与DOM的区别分析 在 Web 开发中,BOM(浏览器对象模型)和 DOM(文档对象模型)都是非常重要的概念。BOM 和 DOM 作为 Web 应用程序中最核心的对象模型之一,它们的区别可能并不明显,本文将详细讲解 BOM 与 DOM 的区别分析。 什么是 BOM? BOM 是浏览器对象模型的缩写,是 JavaScript 和浏览器之间的接口,提供了一…

    JavaScript 2023年6月10日
    00
  • JS简单判断函数是否存在的方法

    当我们在编写JavaScript代码时,经常需要判断一个函数是否存在,以避免意外的“未定义”错误。以下是几种判断JavaScript函数是否存在的方法: 1. typeof typeof 运算符可以返回一个值的数据类型。如果一个变量的数据类型是函数,它的返回值将是 “function”。因此,我们可以使用 typeof 来判断一个函数是否存在: if (ty…

    JavaScript 2023年5月27日
    00
  • HTML+JavaScript实现扫雷小游戏

    项目准备要实现HTML+JavaScript的扫雷小游戏,需要先准备好游戏界面,以及相关的代码和算法。首先,需要绘制游戏地图,并放置相应的地雷。接着,需要通过JavaScript编写游戏逻辑和算法,并在对应的HTML文件中引用相应的JS脚本和CSS样式表,以配置游戏的界面和交互组件。需要注意的是,在引用JS脚本的过程中,应该采用外链方式,而不是直接嵌入到HT…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部