📅  最后修改于: 2023-12-03 15:42:21.937000             🧑  作者: Mango
这是门|门 IT 2007比赛的第62题,需要编写一个程序来判断输入的字符串是否是合法的手机号码。
请编写一个函数 isValidPhone(str),用于判断str是否是合法的中国大陆手机号码。
一个合法的手机号码应当满足以下条件:
函数的输入str为一个字符串,表示要检查的手机号。
函数需要返回一个布尔值,表示输入的手机号是否合法。
isValidPhone('18812345678') // true
isValidPhone('19812345678') // false
isValidPhone('188123456789') // false
isValidPhone('1881234567a') // false
true
false
false
false
判断字符串是否是合法的手机号码,其实就是要求字符串满足一定的正则表达式规则。根据题目的要求,可以得出一个正则表达式:
/^1[3456789]\d{9}$/
这个正则表达式的意思是:以1开头,第二位为3、4、5、6、7、8、9中的一个,后跟9个任意数字。
因此,只需要在函数中使用正则表达式进行匹配即可判断输入的字符串是否合法。
function isValidPhone(str) {
const pattern = /^1[3456789]\d{9}$/;
return pattern.test(str);
}
// 测试样例
console.log(isValidPhone('18812345678')); // true
console.log(isValidPhone('19812345678')); // false
console.log(isValidPhone('188123456789')); // false
console.log(isValidPhone('1881234567a')); // false
以上是本题解的内容,希望对你有帮助。