在url中取ip或者键值对、手机号脱敏、电话号脱敏、身份证脱敏、银行卡号脱敏、身份证校验

简介: 本文提供了JavaScript代码示例,用于从URL中提取IP地址、键值对,以及对手机号、电话号码、身份证号和银行卡号进行脱敏处理,还包含了身份证号的校验方法。

赶快收藏起来,以备不时之需~

取IP

        let url = 'http://123.234.123.111:80/www/ASRfiles/ts/Server/2021/3/25/1015.mp4'
        //取ip
        let newUrl = url.substr(url.indexOf('//') + 2, url.indexOf(':', url.indexOf(':') + 1) - (url.indexOf('//') + 2))
        //取ip前面的 http://
        let topUrl = url.substr(0, url.indexOf('//') + 2)
        //取ip后面的 :80/www/ASRfiles/ts/Server/2021/3/25/1015.mp4
        let bottomUrl = url.substr(url.indexOf(':', url.indexOf(':') + 1))
        console.log(topUrl + newUrl + bottomUrl == url) //true

取键值对

/**获取url问号"?"后面键值对
 * @param {String} url
 */
export const GetRequest = url => {
   
  // let url = window.location.href;
  let theRequest = {
   };
  if (url.indexOf("?") != -1) {
   
      let a =url.indexOf("?");
      let b;
      if(url.indexOf("#") != -1){
   
          b =url.indexOf("#");
          if(a>b){
   
              b= url.length
          }
      }
      let data=url.substring(a,b);
      let str = data.substr(1);
      let strs = str.split("&");
      for(let i = 0; i < strs.length; i ++) {
   
          theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
      }
  }
  return theRequest;
}

手机号脱敏

    // 手机号 移动电话脱敏 158 **** 8888
    export function mobile (str) {
   
        if (!!str) {
   
            var pat = /(\d{3})\d*(\d{4})/;
            return str.replace(pat, '$1****$2');
        } else {
   
            return "";
        }
    }

电话号脱敏

    // 手机号 移动电话脱敏 010-*****07
    export function telphone (str) {
   
        if (!!str) {
   
            var pat = /(\d{4})\d*(\d{2})/;
            return str.replace(pat, '$1****$2');
        } else {
   
            return "";
        }
    }

身份证脱敏

    export function idCard (str) {
   
        if (!!str) {
   
            return str.replace(/(\w{4})\w*(\w{4})/, '$1********$2');
        } else {
   
            return ""
        }
    }

银行卡号脱敏

    export function bankCard (str) {
   
        if (!!str && str.length > 8) {
   
            return `${
     str.substring(0, 4)} ${
     "*".repeat(str.length - 8).replace(/(.{
     4})/g, `$1 `)}${
     str.length % 4 ? " " : ""}${
     str.slice(-4)}`;
        } else {
   
            return ""
        }
    }

校验身份证号

    /*校验15位或18位的身份证号码*/
    export function checkIdCardNo(idCardNo) {
   
        //15位和18位身份证号码的基本校验
        var check = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(idCardNo);
        return check;
    }
目录
相关文章
|
2月前
|
Java 数据库连接 测试技术
自定义校验注解,优雅的实现手机号,身份证号的格式校验!
本文介绍了如何创建自定义校验注解来实现手机号和身份证号的格式校验,包括定义注解、实现校验逻辑、将注解应用于模型类,以及常用的校验器库和框架,旨在提高代码的可维护性和减少重复的校验逻辑。
|
3月前
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
|
5月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
107 5
|
5月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
82 5
|
5月前
|
安全 数据安全/隐私保护
应急响应-战后溯源反制&社会工程学&IP&ID追踪&URL反查&攻击画像
应急响应-战后溯源反制&社会工程学&IP&ID追踪&URL反查&攻击画像
|
5月前
|
开发者
|
4月前
|
JavaScript
vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)
vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)
108 0
|
4月前
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
|
4月前
|
网络协议 Linux 数据库
计算机网络知识之URL、IP、子网掩码、端口号
计算机网络知识之URL、IP、子网掩码、端口号
|
2月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
46 0