定义一个方法, 接收一个字符串手机号, 由这个方法, 判断是否是正确的手机号
时间: 2023-05-23 13:03:24 浏览: 209
非常感谢您的提问!以下是关于判断手机号是否正确的方法:
// 定义一个方法,接收一个字符串手机号,判断是否是正确的手机号
function isPhoneNumberValid(phoneNumber) {
// 校验手机号必须为11位数字
var reg = /^[0-9]{11}$/;
if (!reg.test(phoneNumber)) {
return false;
}
// 校验手机号开头必须为1
var firstChar = parseInt(phoneNumber.charAt(0));
if (firstChar != 1) {
return false;
}
// 校验手机号第二位必须为3、4、5、7、8之一
var secondChar = parseInt(phoneNumber.charAt(1));
if (secondChar != 3 && secondChar != 4 && secondChar != 5 && secondChar != 7 && secondChar != 8) {
return false;
}
// 校验通过
return true;
}
希望这个方法能够对您有所帮助!如果您还有其他问题,请随时提出。
相关问题
请编写一个学生类 姓名0 。年龄 。手机号 创建一个集合,存入4个学生对多 (421 ,151) (张三,23,15611111111)(李四,24,15622222222)(王五,25,1563333JQKA)(赵六,26,233) 255,255,255 删除集合中手机号错误的对象建议 :定义一个方法,接收一个字符串手机号,由这个方法,判断是否是正确的手机号 机号正确规则 必须是1开头 长度是11位 第二位数字可以是 3 4 5 6 7 8 9必须全部是数字 要求直接打印集合的名字,可以看到对象中的元素信息,其中手机请编写一个学生类 姓名0 。年龄 。手机号 创建一个集合,存入4个学生对多 (421 ,151) (张三,23,15611111111)(李四,24,15622222222)(王五,25,1563333JQKA)(赵六,26,233) 255,255,255 删除集合中手机号错误的对象建议 :定义一个方法,接收一个字符串手机号,由这个方法,判断是否是正确的手机号 机号正确规则 必须是1开头 长度是11位 第二位数字可以是 3 4 5 6 7 8 9必须全部是数字 要求直接打印集合的名字,可以看到对象中的元素信息,其中手机号需要屏蔽需要屏蔽
好的,以下是我根据您提供的要求编写的代码:
class Student:
def __init__(self, name, age, phone):
self.name = name
self.age = age
self.phone = phone
def __str__(self):
return "姓名:{},年龄:{},手机号:{}".format(self.name, self.age, self.hide_phone())
def hide_phone(self):
if len(self.phone) == 11 and self.phone[0] == '1' and self.phone[1] in '3456789' and self.phone[1:].isdigit():
return self.phone[:3] + '****' + self.phone[7:]
else:
return 'invalid phone number'
students = [
Student('张三', 23, '15611111111'),
Student('李四', 24, '15622222222'),
Student('王五', 25, '1563333JQKA'),
Student('赵六', 26, '233')
]
def is_valid_phone(phone):
return len(phone) == 11 and phone[0] == '1' and phone[1] in '3456789' and phone[1:].isdigit()
def remove_invalid_phones(students):
return [s for s in students if is_valid_phone(s.phone)]
students = remove_invalid_phones(students)
print("学生集合:")
for s in students:
print(s)
6.用户输入由一组手机号码构成的列表(元素为字符串),编写程序判断它们是否符合手机号码的规则,即由11位阿拉伯数字组成。先判断字符串位数是否正确,如果不对则输出wrong weishu;如果字符串包含非数字字符则输出wrong char,如果符合要求则输出ok。输出分行显示。定义2个Exception的子类WeishuError和CharError,分别处理上述2种异常。
好的,这是一个关于Python异常处理的问题。下面是代码实现:
```python
class WeishuError(Exception):
pass
class CharError(Exception):
pass
def check_phone(nums):
for num in nums:
try:
if len(num) != 11:
raise WeishuError
if not num.isdigit():
raise CharError
print("ok")
except WeishuError:
print("wrong weishu")
except CharError:
print("wrong char")
nums = ["12345678901", "1234567890a", "1234567890"]
check_phone(nums)
```
在这段代码中,我们定义了两个异常类WeishuError和CharError,分别用于处理位数错误和非数字字符错误。 `check_phone` 函数接收一个字符串列表作为参数,并对每个字符串进行检查。如果字符串长度不为11,则抛出WeishuError异常;如果字符串包含非数字字符,则抛出CharError异常。如果字符串符合手机号码规则,则输出ok。
在主程序中,我们创建一个字符串列表并调用 `check_phone` 函数,输出结果为:
```
ok
wrong char
wrong weishu
```
阅读全文