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

下面我将介绍使用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 ES新特性 模板字符串

    JS ES新特性 模板字符串是指一种更加灵活、可读性更高的字符串写法,它可以在字符串中嵌入表达式、变量、函数调用等。 模板字符串的基本语法 使用模板字符串时,我们需要使用反引号( )将字符串包裹起来。在反引号中,我们可以使用${}` 来引用变量、表达式等。例如: const name = "Tom"; const age = 18; co…

    JavaScript 2023年5月28日
    00
  • HTML5 Web Worker(多线程处理)

    HTML5 Web Worker是HTML5提供的一种多线程处理机制,可以将JavaScript代码分离到后台线程中运行,不会影响到页面的性能和响应速度。在本文中,我们将介绍如何使用HTML5 Web Worker,包括基本使用方法、Web Worker与主线程通信、Web Worker之间的通信和错误处理。 基本使用方法 基本使用方法如下: 创建一个新的W…

    JavaScript 2023年5月28日
    00
  • javaScript合并对象的多种方式及知识扩展

    JavaScript合并对象的多种方式及知识扩展 什么是对象合并 在JavaScript中,合并对象指的是将多个对象中的属性和方法,合并成一个新的对象。这在实际应用中非常常见,特别是在处理大型复杂对象时,为了防止属性名冲突或简化处理逻辑,我们经常需要将多个对象合并成一个对象。 合并对象的多种方式 方法一:Object.assign Object.assign…

    JavaScript 2023年5月27日
    00
  • jquery实现的用户注册表单提示操作效果代码分享

    下面是详细的攻略: 什么是jQuery实现的用户注册表单提示操作效果? jQuery实现的用户注册表单提示操作效果就是在用户填写注册表单时,通过jQuery来实现对用户输入进行实时提示的效果。例如,当用户在用户名输入框中输入一些字符时,jQuery可以实现在下方显示一个提示框,告诉用户该用户名是否已经被占用。 实现步骤 引入jQuery库 要使用jQuery…

    JavaScript 2023年6月10日
    00
  • 用javascript实现自动输出网页文本

    当你想要实现自动输出网页文本这个功能,可以通过使用JavaScript来实现。 步骤一:获取网页文本 要实现将网页文本进行自动输出,第一步就是需要获取网页的文本内容。获取网页文本的方法有很多种,比如可以用document.getElementsByTagName(“p”)来获取所有的<p>标签文本内容。 示例: let paragraphs = …

    JavaScript 2023年5月28日
    00
  • Javascript实现可旋转的圆圈实例代码

    下面是实现可旋转的圆圈的Javascript代码的攻略: 步骤一:HTML结构 首先,我们需要在HTML文件中创建一个canvas元素和一个用于控制旋转的按钮。 <canvas id="circle-canvas"></canvas> <button id="rotate-button"&…

    JavaScript 2023年5月28日
    00
  • JS语法也可以有C#的switch表达式

    当你在编写JavaScript时,你可能想使用一种类似于C#语言中switch语句的方式来处理条件分支。在ES2020中,引入了一个新的语法糖——switch表达式,它是对传统switch语句的升级版本,它可以以更简单的方式处理更复杂的逻辑判断。 switch语句 首先,我们来看一下普通的switch语句的例子。 let fruit = "appl…

    JavaScript 2023年5月28日
    00
  • javaScript面向对象继承方法经典实现

    下面是“javaScript面向对象继承方法经典实现”的完整攻略。 什么是面向对象继承? 在面向对象的编程中,允许创建类继承一些特定的数据或行为,从而可以减少重复的代码。你可以创建一个类来拥有基本的行为和特征,让它的子类来扩展或重写这些行为和特征。 经典继承方法 JavaScript中的经典继承方法有两种:原型链继承和构造函数继承。 原型链继承 原型链继承是…

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