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日

相关文章

  • 仅IE不支持setTimeout/setInterval函数的第三个以上参数

    首先需要明确,setTimeout和setInterval函数的第三个以上参数在所有现代浏览器和IE9以上版本均被支持。但是,在IE9及以下版本中,第三个以上参数并不会被当做函数的参数传递进去,而是被当做全局对象属性传递进去。 解决方法是在第三个以上参数中传入一个字符串类型的函数参数,在函数内通过eval方法执行即可。 以下是简单的示例说明: 传递一个字符串…

    JavaScript 2023年6月11日
    00
  • 使用js获取地址栏中传递的值

    想要使用 JavaScript 获取地址栏中的传参,可以通过以下两种方式实现: 方法一:使用 window.location.search 获取查询字符串 地址栏的查询字符串可以使用 window.location.search 属性获取。查询字符串以问号(?)开头,其后紧跟着以 & 符号分隔的多个键值对,例如:http://www.example.…

    JavaScript 2023年6月11日
    00
  • js jquery ajax的几种用法总结(及优缺点介绍)

    下面是详细讲解“js jquery ajax的几种用法总结(及优缺点介绍)”的完整攻略。 概述 Ajax(Asynchronous JavaScript and XML)是指一种创建交互式、快速动态网页的技术,通过在后台与服务器进行少量数据交换,提升用户体验。在JavaScript中,我们可以通过原生的XMLHttpRequest对象和jQuery的ajax…

    JavaScript 2023年6月11日
    00
  • 五种js判断是否为整数类型方式

    下面是”五种js判断是否为整数类型方式”的攻略。 一、用typeof判断 代码示例 function isInteger(num) { return typeof num === ‘number’ && num % 1 === 0; } 描述 通过typeof操作符可以判断变量的类型,如果是number类型,那么就可以继续判断是否为整数。利用…

    JavaScript 2023年6月10日
    00
  • JavaScript闭包原理与用法实例分析

    JavaScript闭包原理与用法实例分析 什么是闭包 在javascript中,闭包是一个比较基础的概念。它能够让我们可以轻松地实现许多常见的编码模式,比如惰性加载、模块化、私有变量等等。闭包是指有权访问另一个函数作用域内变量的函数。 闭包的原理 闭包创建时,外部函数已经执行完毕,但内部函数仍然可以访问外部函数的变量。因为当一个函数被执行完毕后,它的作用域…

    JavaScript 2023年6月10日
    00
  • Javascript核心读书有感之表达式和运算符

    Javascript核心读书有感之表达式和运算符攻略 表达式和运算符的基本概念 在Javascript中,表达式是由变量、常量、运算符和函数调用等元素组成的组合,用于计算一个值。而运算符则是表达式中完成具体计算的部分。 运算符的分类 Javascript中的运算符可以分为以下几类: 算术运算符 用于数值运算,包括加减乘除、取余等,如:+、-、*、/、%。 示…

    JavaScript 2023年6月11日
    00
  • 深入了解Javascript的事件循环机制

    深入了解JavaScript的事件循环机制 JavaScript 是一门单线程语言,这意味着在 JavaScript 中,代码是按顺序执行的,只有前一个任务执行完成后,才会执行下一个任务。但是 JavaScript 中有许多异步操作,如定时器、事件监听器、网络请求等,这些操作不会阻塞代码的执行,可以同时执行。那么在 JavaScript 中是如何处理异步操作…

    JavaScript 2023年5月28日
    00
  • 深入理解JavaScript系列(2) 揭秘命名函数表达式

    当我们在书写JavaScript代码的时候,常常会使用函数表达式来定义函数。在函数表达式中,我们可以选择使用具名的函数表达式或者是匿名的函数表达式。而其中,命名函数表达式是比较少用的一种,因为它容易出现一些奇怪的问题。那么在这篇文章中,我们将会深入地探讨命名函数表达式的原理,以及解决其中可能出现的一些问题。 什么是命名函数表达式 命名函数表达式就是在函数表达…

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