在前端开发中,经常会遇到需要验证用户输入的手机号码或座机号码的情况。本文将介绍如何使用 JavaScript 对中国手机号码和座机号码进行有效性验证,并提供相应的示例代码。
验证中国手机号码
手机号码格式
中国手机号码的格式为11位数字,以1开头,例如:13888888888。接下来我们编写一个正则表达式来验证手机号码的有效性:
const reg = /^1[3-9]\d{9}$/;
该正则表达式解释如下:
^
表示字符串的开头。1
表示必须以数字1开头。[3-9]
表示第二位数字必须是3到9之间的任意一个数字。\d{9}
表示后面9位必须是数字。$
表示字符串的结尾。
使用该正则表达式进行验证:
function isMobile(mobile) { const reg = /^1[3-9]\d{9}$/; return reg.test(mobile); } console.log(isMobile('13888888888')); // true console.log(isMobile('1888888888')); // false console.log(isMobile('12888888888')); // false
手机号码归属地
有时候我们还需要获取手机归属地信息。目前可以通过第三方API实现该功能。例如,聚合数据提供了手机号码归属地查询的API接口。我们需要先在该网站注册并获取相应的APPKEY,然后使用如下代码实现:
-- -------------------- ---- ------- ----- -------- ------------------------- ---- - ----- --- - ------------------------------------------------------------- ----- -------- - ----- ----------- ----- ---- - ----- ---------------- -- ---------------- --- -- - ------ ------------ - ---- - ----- --- ------------------- - - -------------------------------- ----- --- ----------------- -- - -------------------- -------------- -- - --------------------- --
验证中国座机号码
中国座机号码由区号和电话号码组成,其中区号为3位或4位数字,电话号码为7位或8位数字,中间用连字符“-”隔开,例如:021-1234567。下面我们编写一个正则表达式来验证座机号码的有效性:
const reg = /^0\d{2,3}-\d{7,8}$/;
该正则表达式解释如下:
^
表示字符串的开头。0
表示必须以数字0开头。\d{2,3}
表示后面2或3位必须是数字,即区号。-
表示中间必须有一个连字符。\d{7,8}
表示后面7或8位必须是数字,即电话号码。$
表示字符串的结尾。
使用该正则表达式进行验证:
function isTelephone(telephone) { const reg = /^0\d{2,3}-\d{7,8}$/; return reg.test(telephone); } console.log(isTelephone('021-1234567')); // true console.log(isTelephone('0755-12345678')); // true console.log(isTelephone('010-123456789')); // false
总结
本文介绍了如何使用JavaScript验证中国手机号码和座机号码的有效性,并且提供了相应的正则表达式和示例代码。通过本文的学习,我们可以更好地理解正则表达式在前端开发中的应用,提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/36862