📜  if 数组中的字符串 - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:21.855000             🧑  作者: Mango

判断数组中的字符串是否符合要求 - Javascript

有时候我们需要对一个数组中的字符串进行判断,比如判断字符串是否是数字、是否是邮箱、是否是网址等等。在Javascript中,我们可以通过正则表达式或其他方法来实现。在本篇文章中,我们将会介绍几种方法来判断数组中的字符串是否符合要求。

前置知识

在学习本文内容之前,建议您掌握:

  • Javascript的数组操作(如获取数组长度、获取指定位置的元素、遍历数组等)
  • 正则表达式的基本知识
判断数组中的字符串是否是数字

如果我们要判断一个字符串是否是数字,可以使用Javascript内置的isNaN()函数,它可以确定一个值是否为NaN(非数字)。我们可以将数组中的每个元素转成数字,然后判断这个数字是否为NaN。

let arr = ["1", "2", "3", "a", "4"];
let newArr = arr.map(item => Number(item));
newArr.forEach(item => {
  if(isNaN(item)){
    console.log(item + "不是数字");
  }else{
    console.log(item + "是数字");
  }
});

执行上述代码后,控制台会依次输出"1是数字"、"2是数字"、"3是数字"、"a不是数字"、"4是数字"。

判断数组中的字符串是否是邮箱

要判断一个字符串是否是邮箱,我们可以使用正则表达式来匹配这个字符串是否符合邮箱的格式。以下是一个判断是否是邮箱的示例代码:

let arr = ["hello@gmail.com", "world@qq.com", "xiaoming@hotmail.com", "hello.world"];
let email = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

arr.forEach(item => {
  if (email.test(item)) {
    console.log(item + "是邮箱地址");
  } else {
    console.log(item + "不是邮箱地址");
  }
});

上述代码中,我们使用了test()方法来匹配字符串是否符合邮箱的格式。执行上述代码后,控制台会依次输出"hello@gmail.com是邮箱地址"、"world@qq.com是邮箱地址"、"xiaoming@hotmail.com是邮箱地址"、"hello.world不是邮箱地址"。

判断数组中的字符串是否是网址

类似地,我们也可以使用正则表达式来匹配一个字符串是否是网址。以下是一个判断是否是网址的示例代码:

let arr = ["https://www.google.com", "http://www.baidu.com", "www.google.com", "hello.world"];
let url = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i;

arr.forEach(item => {
  if (url.test(item)) {
    console.log(item + "是网址");
  } else {
    console.log(item + "不是网址");
  }
});

上述代码中,我们使用了和邮箱相似的方式进行判断。执行上述代码后,控制台会依次输出"https://www.google.com是网址"、"http://www.baidu.com是网址"、"www.google.com不是网址"、"hello.world不是网址"。

总结

本篇文章中,我们介绍了几种方法来判断数组中的字符串是否符合要求。其中,判断数字可以使用Javascript内置函数isNaN(),而判断邮箱、网址等可以使用正则表达式。掌握这些方法,可以帮助我们更好地处理数组中的字符串信息。