首页 > 其他分享 >TypeScript封装验证函数(电话、邮箱、URL、数字、银行卡、税号)

TypeScript封装验证函数(电话、邮箱、URL、数字、银行卡、税号)

时间:2023-09-17 17:01:31浏览次数:33  
标签:TypeScript return URL value callback Error new any 税号

/**  * 验证手机号码或者电话号  * */ export function isMobileTel(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   setTimeout(() => {     const myreg = /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/     if (!myreg.test(value)) {       callback(new Error('请输入合法手机号/电话号'))     } else {       callback()     }   }, 0) }
/**  * 验证邮箱  * */ export function isEmail(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   setTimeout(() => {     const myreg = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g     if (!myreg.test(value)) {       callback(new Error('请输入正确的邮箱'))     } else {       callback()     }   }, 0) }
/**  * 验证URL  * */ export function isURL(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   const strUrl =     '^((https|http|ftp|rtsp|mms)?://)' +     "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + // ftp的user@     '(([0-9]{1,3}.){3}[0-9]{1,3}' + // IP形式的URL- 199.194.52.184     '|' + // 允许IP和DOMAIN(域名)     "([0-9a-z_!~*'()-]+.)*" + // 域名- www.     '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' + // 二级域名     '[a-z]{2,6})' + // first level domain- .com or .museum     '(:[0-9]{1,4})?' + // 端口- :80     '((/?)|' + // a slash isn't required if there is no file name     "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"   const urlReg = new RegExp(strUrl)   if (value) {     if (urlReg.test(value)) {       callback()     } else {       callback(new Error('请输入正确的url格式'))     }   } else {     callback()   } } /**  * 验证数字  * */ export function isNumber(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   setTimeout(() => {     const myreg = /^\d+(?=\.{0,1}\d+$|$)/     if (!myreg.test(value)) {       callback(new Error('请输入数字值'))     } else {       callback()     }   }, 0) } /**  * 验证银行卡  * */ export function isBankCard(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   setTimeout(() => {     // 银行卡号(12~28)位正则验证  20210524有九位数的银行号692832890     const myreg = /^([1-9]{1})(\d{15}|\d{16}|\d{18})$/     // const myreg = /^([1-9]{1})(\d{8,27})$/     if (!myreg.test(value)) {       callback(new Error('请输入正确的卡号'))     } else {       callback()     }   }, 0) } /**  * 验证税号  * */ export function isTaxNum(rule: any, value: any, callback: any) {   if (!value) {     // return callback(new Error('输入不可以为空'))     return callback()   }   setTimeout(() => {     // 15或者17或者18或者20位字母、数字组成     const myreg = /^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/     if (!myreg.test(value)) {       callback(new Error('请输入正确的税号'))     } else {       callback()     }   }, 0) } /**  * 验证电话号码  * */ export function isTel(rule: any, value: any, callback: any) {   if (!value) {     return callback(new Error('输入不可以为空'))   }   setTimeout(() => {     const myreg = /^[0][0-9]{9}$/     if (!myreg.test(value)) {       callback(new Error('请输入正确的电话号码'))     } else {       callback()     }   }, 0) }

标签:TypeScript,return,URL,value,callback,Error,new,any,税号
From: https://www.cnblogs.com/jiangyuhu/p/17709169.html

相关文章

  • TypeScript编码解码Base64
    constBase64={  _keyStr:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',  _utf8_encode:function(string:string){    string=string.replace(/\r\n/g,'\n')    letutftext=''    ......
  • typescript使用记录
    一、第三方包没有声明文件时:https://blog.csdn.net/xiebaochun/article/details/122458063 解决方法1:从 @types/上下载对应的包解决方法2:自己写一个声明文件(.d.ts文件)在项目根目录新建types文件夹。在tsconfig.json里的include添加上types在typings文件夹......
  • Technical support website(URL)
    Thissoftwarerespectsandprotectsthepersonalprivacyofallusersusingtheservice.Inordertoprovideyouwithmoreaccurateandpersonalizedservices,thissoftwarewilluseanddiscloseyourpersonalinformationinaccordancewiththeprovisions......
  • 在nodejs中使用Typescript 金字教程
    1.首先新建一个项目npminit-yes2.开启Typescript依赖npminstalltypescript--save-dev安装typescript,现在我们可以通过命令行来使用tsc命令3.安装nodejs类型npminstall@types/node--save-dev4.使用命令创建一个tsconfig.json文件npxtsc--init--rootDir......
  • js:上传图片,通过file对象或blob对象获取用于显示的url,获取图片的base64编码;限制文件类
    1//URL.createObjectUrl(file):同步执行;创建一个指向file/blob对象的url,可用于元素的src/href属性23//fileReader.readAsDataURL():异步执行;读取file/blob对象的内容,result属性将返回一个包含data:URL格式的base64字符串45//fileReader.readAsDataURL()是异步的,所......
  • php获取百度真实来源URL(baidu.com/link?url=)
    有时候我们可能会因为某些原因,在不点击百度链接的情况下,获得来源网址真实地址,使用以下方法即可获得。 如上图所示,URL链接为:https://www.baidu.com/link?url=G-zVzAOV_WhO51JGmRbzzoflu9U1WUJOi25-pTad-x1RKXweAHRHIBpHhOtfyH9JeJCn_GZp9jDYblrtxMat3q&wd=&eqid=86f100e5000038e......
  • 完美解决Server returned HTTP response code:403 for URL报错问题
    在调用某个接口的时候,突然就遇到了Server returned HTTP response code: 403 for URL报错这个报错,导致获取不到接口的数据,下面小编给大家分享解决Server returned HTTP response code:403 for URL报错问题,感兴趣的朋友一起看看吧 前言原因依赖post请求结语......
  • 淘宝api:本地图片上传至淘宝 获取url(联合拍立淘接口)
    upload_img-上传图片到淘宝请求参数请求参数:imgcode=https://img14.360buyimg.com/n0/jfs/t1/52280/38/7464/140698/5d511f6bE08290bd7/f0bb32ddb47451e8.jpg参数说明:imgcode:base64加密后的图片内容(post方式),或者是直接上传(file方式)响应参数名称类型必须示例值描述......
  • 记录一个比较完善的php的curl请求方法的demo
    functionhttpRequest($url,$dataStr="",$isPost=0,$headers=[]){$httpInfo=[];$ch=curl_init();curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(Window......
  • Bypass:URL非法参数名产生的绕过问题
    测试测试demo:<?phphighlight_file(__FILE__);error_reporting(0);$var=$_REQUEST["mochu."];var_dump($_REQUEST);echo"PHP-Version:".phpversion()."<br>";if(is_null($var)){die("<br>$varisnull")......