JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】

yizhihongxing

JS常见简单正则表达式验证功能小结

在Web开发中,我们会经常需要验证用户提交的数据是否符合特定的格式。使用正则表达式是一种很方便的方式,本篇攻略旨在介绍常见的一些正则表达式验证功能。

手机号码验证

function isValidPhoneNumber(phoneNumber) {
  const regex = /^1[3-9]\d{9}$/;
  return regex.test(phoneNumber);
}

解释:

  • /^1[3-9]\d{9}$/是一个正则表达式,其中^代表开头,$代表结尾,[3-9]表示第二位数字只能是3~9中的一个,\d{9}表示后面必须是9位数字。
  • test()方法会返回一个布尔值,其返回值为true表示符合正则表达式规则,返回值为false表示不符合。

示例:

isValidPhoneNumber('13912345678'); // true
isValidPhoneNumber('12345678900'); // false

地址验证

function isValidAddress(address) {
  const regex = /^[\u4e00-\u9fa5]{2,}(省|市|自治区|自治州|县|区)[\u4e00-\u9fa5]{2,}$/;
  return regex.test(address);
}

解释:

  • /^[\u4e00-\u9fa5]{2,}(省|市|自治区|自治州|县|区)[\u4e00-\u9fa5]{2,}$/是一个正则表达式,其中[\u4e00-\u9fa5]表示中文字符,{2,}表示至少需要两个中文字符,(省|市|自治区|自治州|县|区)表示地址中必须包含省、市、自治区、自治州、县或区中的一个。

示例:

isValidAddress('北京市朝阳区'); // true
isValidAddress('江苏省南京市浦口区'); // true
isValidAddress('上海市'); // false

企业税号验证

function isValidTaxNumber(taxNumber) {
  const regex = /^[a-zA-Z0-9]{15,20}$/;
  return regex.test(taxNumber);
}

解释:

  • /^[a-zA-Z0-9]{15,20}$/是一个正则表达式,其中[a-zA-Z0-9]表示大小写字母和数字,{15,20}表示长度在15~20之间。

示例:

isValidTaxNumber('91350100657363579C'); // true
isValidTaxNumber('91350100754866372E0123'); // true
isValidTaxNumber('12345'); // false

金额验证

function isValidAmount(amount) {
  const regex = /^\d+(\.\d{1,2})?$/;
  return regex.test(amount);
}

解释:

  • /^\d+(\.\d{1,2})?$/是一个正则表达式,其中\d表示数字,+表示至少出现一次,\.表示小数点,\d{1,2}表示小数点后面最多出现两位数字,?表示小数点及之后的部分可以出现也可以不出现。

示例:

isValidAmount('123.45'); // true
isValidAmount('10000'); // true
isValidAmount('1234.456'); // false

身份证号码验证

function isValidIDCard(idCard) {
  const regex = /^[1-6]\d{5}(19|20)\d{2}((0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])|\d{2}(0[1-9]|[1-2]\d|3[0-1]))\d{3}[0-9xX]$/;
  const areaCode = {
      '11': '北京', '12': '天津', '13': '河北', '14': '山西', '15': '内蒙古',
      '21': '辽宁', '22': '吉林', '23': '黑龙江', '31': '上海', '32': '江苏',
      '33': '浙江', '34': '安徽', '35': '福建', '36': '江西', '37': '山东',
      '41': '河南', '42': '湖北' ,'43': '湖南' ,'44': '广东' ,'45': '广西',
      '46': '海南' ,'50': '重庆' ,'51': '四川' ,'52': '贵州' ,'53': '云南',
      '54': '西藏' ,'61': '陕西' ,'62': '甘肃' ,'63': '青海' ,'64': '宁夏',
      '65': '新疆' ,'71': '台湾' ,'81': '香港' ,'82': '澳门'
  };
  if (!regex.test(idCard)) {
      return false;
  }
  const provinceCode = idCard.substring(0, 2);
  if (!areaCode.hasOwnProperty(provinceCode)) {
      return false;
  }
  return true;
}

解释:

  • /^[1-6]\d{5}(19|20)\d{2}((0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])|\d{2}(0[1-9]|[1-2]\d|3[0-1]))\d{3}[0-9xX]$/是一个正则表达式,其中,开头的[1-6]表示身份证号码的第一位必须是1~6中的一个,\d{5}表示接下来的5位是数字,(19|20)\d{2}表示出生年份只可能是19或20开头的四位数字,(0[1-9]|1[0-2])表示月份只可能是01~12中的一个,(0[1-9]|[1-2]\d|3[0-1])表示日期只可能是01~31中的一个,\d{3}表示接下来的3位是数字,最后一位可能是0~9Xx
  • 验证身份证号码的时候,还需要根据省份区域码来验证编号的真伪,本例代码中定义了一个areaCode对象,保存了身份证号码前两位所代表的省份。

示例:

isValidIDCard('11010119900307001X'); // true
isValidIDCard('11010119900307001234'); // false
isValidIDCard('11110119900307001X'); // false

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • javascript 方法覆写实例代码

    当我们需要对Javascript中的原生方法进行更改或扩展时,就需要用到方法覆写。在Javascript中,方法覆写可以通过对象的原型链来实现。以下是详细的攻略: 方法覆写的基本原理 Javascript中的每个函数都有一个prototype属性,这个属性指向原型对象。对于一个对象来说,如果这个对象的某个属性或方法不存在,Javascript会沿着原型链向上…

    JavaScript 2023年6月10日
    00
  • C#应用ToolStrip控件使用方法

    C#应用ToolStrip控件使用方法 在C#中,ToolStrip控件可以用于创建菜单栏、工具栏、状态栏等用户界面元素。本文将介绍在C#应用中如何使用ToolStrip控件。 步骤一:添加ToolStrip控件到窗体 要使用ToolStrip控件,首先需要将其添加到窗体中。可以通过拖拽控件添加的方式,或者在窗体的Load事件中手动创建并添加控件,这里我们以…

    JavaScript 2023年5月28日
    00
  • Bootstrap实现前端登录页面带验证码功能完整示例

    你好,关于Bootstrap实现前端登录页面带验证码功能完整示例的具体实现方法,以下是完整攻略: 1. 准备工作 引入相关CDN库 在 head 标签中引入相关CDN库: “`html “` 注意:以上只是使用的一个CDN源,你也可以使用自己的CDN源或者是本地引入库。 编写HTML布局 “`html Bootstrap登录验证码实例 邮箱地址 我们永…

    JavaScript 2023年6月10日
    00
  • JS Pro-深入面向对象的程序设计之继承的详解

    JS Pro-深入面向对象的程序设计之继承的详解 本攻略将从以下内容入手,逐步深入探讨JavaScript面向对象编程中的继承。 原型链继承 构造函数继承 组合继承 原型式继承 寄生式继承 寄生组合式继承 原型链继承 原型链继承,顾名思义,指的是连接原型链的方式进行继承。简单来说,就是在子类的构造函数中通过关联父类的原型实现继承。 function Pare…

    JavaScript 2023年5月27日
    00
  • Javascript中判断一个值是否为undefined的方法详解

    当我们使用JavaScript编写代码时,通常需要对变量或函数返回值是否为“未定义(undefined)”进行判断,JavaScript中判断一个值是否为undefined的方法有很多种,下面我们就逐个进行说明。 1.使用typeof typeof是用来检测变量类型的操作符,如果变量未定义,则返回”undefined”,因此可以用typeof来判断一个值是否…

    JavaScript 2023年5月28日
    00
  • Cookie的使用及保存中文并用Cookie实现购物车功能

    下面是关于Cookie的使用及保存中文并用Cookie实现购物车功能的完整攻略。 什么是Cookie? Cookie是在Web服务器端存储在用户计算机上的一小段文本文件,它是HTTP协议的一部分,用于告诉服务器哪些请求来自于同一用户。服务器使用Cookie来存储用户的信息,包括登录状态、用户偏好、购物车中选中的商品等等。 Cookie有一个名称、一个值和其他…

    JavaScript 2023年6月11日
    00
  • JavaScript原型链及常见的继承方法

    JavaScript原型链及常见的继承方法 什么是原型链 在JavaScript中,每个对象都有一个原型对象,原型对象又有自己的原型对象,形成了一条链,我们称之为原型链。在这条链上,如果查找某个属性或方法(即某个属性或方法不存在于当前对象上),则会一直向上查找直到找到该属性或方法或查找到原型链的顶层,如果还没有找到,则返回undefined。 常见的继承方法…

    JavaScript 2023年6月10日
    00
  • JS 页面计时器示例代码

    下面是关于“JS 页面计时器示例代码”的完整攻略。 什么是 JS 页面计时器 JS 页面计时器是一种用于计时的 JS 脚本,可以在页面中实现各种计时功能,比如倒计时、时长计算等。在开发网站时,经常需要使用页面计时器来实现各种功能,因此学习和掌握 JS 页面计时器是非常重要的。 JS 页面计时器示例代码 下面是一个简单的 JS 页面计时器示例代码: let t…

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