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

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中直接写undefined的错误及用法剖析

    JavaScript中直接写undefined的错误及用法剖析 在JavaScript中,undefined是一个特殊的值,表示“未定义”的意思。然而,有时候我们会不小心直接写出了undefined,这可能会导致错误。本文将从浅入深地探讨这个问题,并给出一些示例。 常见错误 首先,我们来看看最常见的错误:直接写undefined。 function foo(…

    JavaScript 2023年5月18日
    00
  • JavaScript Object的extend是一个常用的功能

    JavaScript中的extend功能常用于对象的继承、对象属性的扩展等场景。本篇攻略将详细讲解如何使用JavaScript Object的extend功能。 什么是JavaScript对象的extend JavaScript中的Object对象是所有对象的父对象,每个对象都有Object的属性和方法。其中extend方法就是Object对象中常用的一个方…

    JavaScript 2023年5月27日
    00
  • JavaScript 判断一个对象{}是否为空对象的简单方法

    判断 JavaScript 对象是否为空的简单方法有很多种,下面介绍两种常用的方法: 方法一:Object.keys() 如果对象没有属性,我们可以使用 Object.keys() 方法获取不到对象的属性名,从而判断对象是否为空。 具体操作如下: function isEmptyObject(obj) { return Object.keys(obj).le…

    JavaScript 2023年5月27日
    00
  • 常用JS代码实例小结

    下面是详细讲解“常用JS代码实例小结”的完整攻略。 标题 常用JS代码实例小结 简介 随着JavaScript的不断发展和应用,越来越多的前端开发人员需要使用JavaScript编写实际项目。但是JavaScript语法比较复杂,需要掌握一定的编程技巧才能高效地完成工作。本篇文章将提供常用JS代码实例,并给出相应的解释和代码解读,希望有所帮助。 正文 以下是…

    JavaScript 2023年5月18日
    00
  • Json按某个键的值进行排序

    针对“Json按某个键的值进行排序”,以下是完整攻略: 1. 确定排序依据的键名 首先需要明确按照哪个键进行排序,也就是要确定排序依据的键名。假设我们需要对以下的JSON数据按照id进行升序排序: [ {"id": 2, "name": "Lucy"}, {"id": 1, &q…

    JavaScript 2023年6月11日
    00
  • JavaScript常用事件介绍

    下面我将为您详细介绍“JavaScript常用事件”方面的攻略。在JavaScript中,我们可以使用各种事件来相应网页的状态改变和用户的互动。通过事件,我们可以触发一些特定的JavaScript函数,实现对用户行为的响应。 事件介绍 事件是用户在操作网页时触发的一些动作,包括鼠标点击、键盘输入、页面滚动、窗口大小调整等。常见的事件类型包括: 鼠标事件:cl…

    JavaScript 2023年5月27日
    00
  • 容易被忽略的JS脚本特性

    当谈及 JavaScript 时,很大程度上是关于语言的各种高级功能的讨论。然而,JS仍然是一个拥有许多特性和行为的非常奇妙的语言。在编写 JS 代码时,有一些特性是容易被忽略的,但它们可以为代码库的性能和可维护性提供实质性的帮助。下面是一些容易被忽略的 JS 特性的攻略。 在if语句条件中使用赋值表达式 JS 的赋值表达式因其高效而广为人知,但它们也可以通…

    JavaScript 2023年6月10日
    00
  • javascript的理解及经典案例分析

    JavaScript的理解及经典案例分析 JavaScript是一种轻量级的脚本语言,用于Web页面的动态交互和用户行为的操作。与其他语言相比,JavaScript具有易学易用、灵活性强、适用性广和运行速度较快等优点,因而被广泛应用于Web开发领域。 JavaScript的基本语法和特性 变量和数据类型 在JavaScript中,变量使用var关键字进行声明…

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