正整数以及0
// 清除“数字”以外的字符(正整数以及0)
// 避免首位为0的数字存在,比如01、02
// parseInt():如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
DATA = parseInt(DATA.replace(/[^\d]/g, ''));
手机号码
// ^ 与字符串开始的地方匹配,不匹配任何字符。这里是首位只能为1。
// [3456789] 第二位可以为3456789中的一个。
// \d{9} 任意一个数字,0~9 中的任意一个。\d重复9次,说明需要输入9位。
let phone = /^1[3456789]\d{9}$/;
国际固定电话号码和手机号码
格式示例:
固定电话:+86-010-40020021,010-40020020 国家代码选填。
手机:+86-13523458056 ,10-13523458056 ,13523458056 国家代码和区号选填。
// 序列 '\\' 匹配 "\"
// {n} n 是一个非负整数。匹配确定的 n 次。
// {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
// ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。
// \d 元字符用于查找数字字符。
// (\\d{2}-)? 代表 匹配前两个数字,允许匹配不上。这里用俩匹配国家代码 例如:+86-
// let telEx = "^(\\+\\d{2}-)?0\\d{2,3}-\\d{7,8}$" //代表国际固定电话 支持格式示例-固话:+86-010-40020021,010-40020020 国家代码选填
// let phoneEx = "^(\\+\\d{2}-)?(\\d{2,3}-)?([1][3,4,5,7,8][0-9]\\d{8})$" //手机: +86-13523458056 ,10-13523458056 ,13523458056 国家代码和区号选填
let regularEx = new RegExp("^(((\\+\\d{2}-)?0\\d{2,3}-\\d{7,8})|((\\+\\d{2}-)?(\\d{2,3}-)?([1][3,4,5,7,8][0-9]\\d{8})))$")
if(!(regularEx.test(DATA))){
return false;
}