📅  最后修改于: 2023-12-03 15:31:21.855000             🧑  作者: Mango
有时候我们需要对一个数组中的字符串进行判断,比如判断字符串是否是数字、是否是邮箱、是否是网址等等。在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(),而判断邮箱、网址等可以使用正则表达式。掌握这些方法,可以帮助我们更好地处理数组中的字符串信息。