当前位置: 首页 > news >正文

JavaScript代码片段二

见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看......
JavaScript统计文字个数、特殊字符转义、动态插入js代码、身份证验证
统计文字个数

function wordCount(data) {

        var pattern = /[a-zA-Z0-9_\u0392-\u03c9]+|[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af]+/g;

         var m = data.match(pattern);

        var count = 0;

        if( m === null ) return count;

        for (var i = 0; i < m.length; i++) {

           if (m[i].charCodeAt(0) >= 0x4E00) {

             count += m[i].length;

           } else {

             count += 1;

           }

         }

        return count;

}

wordCount(‘中文内容’);//使用

特殊字符转义

function htmlspecialchars (str) {

        var str = str.toString().replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, '&quot;');

        return str;

}

动态插入js

function injectScript(src) {

         var s, t;

        s = document.createElement('script');

        s.type = 'text/javascript';

        s.async = true;

        s.src = src;

        t = document.getElementsByTagName('script')[0];

        t.parentNode.insertBefore(s, t);

}

身份证验证

function chechCHNCardId(sNo) {

        if (!this.regExpTest(sNo, /^[0-9]{17}[X0-9]$/)) {

                return false;

        }

        sNo = sNo.toString();

        var a, b, c;

        a = parseInt(sNo.substr(0, 1)) * 7 + parseInt(sNo.substr(1, 1)) * 9 + parseInt(sNo.substr(2, 1)) * 10;

         a = a + parseInt(sNo.substr(3, 1)) * 5 + parseInt(sNo.substr(4, 1)) * 8 + parseInt(sNo.substr(5, 1)) * 4;

        a = a + parseInt(sNo.substr(6, 1)) * 2 + parseInt(sNo.substr(7, 1)) * 1 + parseInt(sNo.substr(8, 1)) * 6;

        a = a + parseInt(sNo.substr(9, 1)) * 3 + parseInt(sNo.substr(10, 1)) * 7 + parseInt(sNo.substr(11, 1)) * 9;

        a = a + parseInt(sNo.substr(12, 1)) * 10 + parseInt(sNo.substr(13, 1)) * 5 + parseInt(sNo.substr(14, 1)) * 8;

        a = a + parseInt(sNo.substr(15, 1)) * 4 + parseInt(sNo.substr(16, 1)) * 2;

        b = a % 11;

        if (b == 2) {

                 c = sNo.substr(17, 1).toUpperCase();

        } else {

                c = parseInt(sNo.substr(17, 1));

         }

        switch (b) {

                 case 0:

                if (c != 1) {

                        return false;

                }

                break;

                case 1:

                if (c != 0) {

                        return false;

                }

                break;

                case 2:

                if (c != "X") {

                        return false;

                }

                break;

                case 3:

                if (c != 9) {

                        return false;

                }

                break;

                case 4:

                if (c != 8) {

                        return false;

                }

                 break;

                case 5:

                if (c != 7) {

                        return false;

                 }

                break;

                 case 6:

                if (c != 6) {

                        return false;

                 }

                 break;

                 case 7:

                 if (c != 5) {

                         return false;

                 }

                 break;

                case 8:

                if (c != 4) {

                        return false;

                 }

                break;

                 case 9:

                if (c != 3) {

                        return false;

                }

                break;

                case 10:

                 if (c != 2) {

                         return false;

                };

        }

        return true;

}

关注我,不失联。有啥问题请留言。

感情恋爱合集

职业发展故事

常用代码片段

程序开发教程

自我备考经验 

相关文章:

JavaScript代码片段二

见过不少人、经过不少事、也吃过不少苦&#xff0c;感悟世事无常、人心多变&#xff0c;靠着回忆将往事串珠成链&#xff0c;聊聊感情、谈谈发展&#xff0c;我慢慢写、你一点一点看...... JavaScript统计文字个数、特殊字符转义、动态插入js代码、身份证验证 统计文字个数 f…...

【计算机视觉】单目深度估计模型-Depth Anything-V2

概述 本篇将简单介绍Depth Anything V2单目深度估计模型&#xff0c;该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比&#xff0c;V2版本通过采用合成图像训练、增加教师模型容量&#xff0c;并利用大规模伪标签现实数据进行学…...

Servlet 和 Spring MVC:区别与联系

前言 在 Java Web 开发中&#xff0c;Servlet 和 Spring MVC 是两个重要的技术。Servlet 是 Java Web 的基础组件&#xff0c;而 Spring MVC 是一个高级 Web 框架&#xff0c;建立在 Servlet 的基础之上&#xff0c;提供了强大的功能和易用性。这篇文章将从定义、原理、功能对…...

【期末复习】三、内存管理

1.物理内存管理 空闲内存管理方式主要分为:等长划分和不等长划分。 内存管理方式 单一连续分区 基本思想:一段时间内只有一个进程在内存。 特点:简单,内存利用率低, 有三种不同的布局: 固定分区 把内存空间分割成若干区域, 称为分区。 每个分区的大小可以相同也可…...

Microsoft Azure Cosmos DB:全球分布式、多模型数据库服务

目录 前言1. Azure Cosmos DB 简介1.1 什么是 Azure Cosmos DB&#xff1f;1.2 核心技术特点 2. 数据模型与 API 支持2.1 文档存储&#xff08;Document Store&#xff09;2.2 图数据库&#xff08;Graph DBMS&#xff09;2.3 键值存储&#xff08;Key-Value Store&#xff09;…...

【Docker】安装registry本地镜像库,开启Https功能

下载镜像 docker pull registry:2 需要启动https功能&#xff0c;就要生成服务端的自签名的证书和私钥&#xff0c;以及在docker客户端安装这个经过签名的证书。 第一步&#xff1a;生成公私钥信息&#xff0c;第二步&#xff0c;制作证书签名申请文件&#xff0c; 第三步&…...

JUC--线程池

线程池 七、线程池7.1线程池的概述7.2线程池的构建与参数ThreadPoolExecutor 的构造方法核心参数线程池的工作原理 Executors构造方法newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutornewScheduledThreadPool(int corePoolSize) 为什么不推荐使用内置线程池&…...

后端Java开发:第十一天

第十一天&#xff1a;方法重载 - 理解与应用 今天我们继续深入 Java 的世界&#xff0c;讨论 Java 中的 方法重载&#xff08;Method Overloading&#xff09;。你可能会想&#xff0c;什么是方法重载&#xff1f;简单来说&#xff0c;方法重载允许你在一个类中定义多个同名方…...

基于 GEE 的长时间序列 Landsat 5 影像下载

目录 1 完整代码 2 运行结果 1 完整代码 var LT5 ee.ImageCollection("LANDSAT/LT05/C01/T1"),imageVisParam {"opacity":1,"bands":["B4","B3","B2"],"gamma":1},roi ee.FeatureCollection(&quo…...

Unity-Mirror网络框架从入门到精通之Attributes属性介绍

前言 在现代游戏开发中&#xff0c;网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架&#xff0c;专为多人游戏开发设计。它使得开发者能够轻松实现网络连接、数据同步和游戏状态管理。本文将深入介绍Mirror的基本概念、如何与其他网络框架进…...

软考证书邮寄步骤

一、点击网址 https://www.ruankao.org.cn/ 复制上述网址&#xff0c;粘贴至浏览器中。点击 “报名入口” 。 二、点击入口 选择考试批次。点击你所在考试地点的入口并进入。 三、登录 输入手机号和密码。进行验证。 四、点击基本信息 点击右上角。进入 “基本信息” 。 五、…...

计算机网络 (29)网络地址转换NAT

前言 网络地址转换&#xff08;Network Address Translation&#xff0c;NAT&#xff09;是计算机网络中的一种重要协议&#xff0c;它主要用于将私有IP地址转换为公共IP地址&#xff0c;以实现内部网络与外部网络之间的通信。 一、基本概念 NAT是一种在局域网&#xff08;LAN&…...

nlp培训重点-2

1. 贝叶斯公式 import math import jieba import re import os import json from collections import defaultdictjieba.initialize()""" 贝叶斯分类实践P(A|B) (P(A) * P(B|A)) / P(B) 事件A&#xff1a;文本属于类别x1。文本属于类别x的概率&#xff0c;记做…...

设计模式(1)——面向对象和面向过程,封装、继承和多态

文章目录 一、day11. 什么是面向对象2. 面向对象的三要素&#xff1a;继承、封装和多态2.1 封装**2.1.1 封装的概念****2.1.2 如何实现封装****2.1.3 封装的底层实现**2.1.4 为什么使用封装&#xff1f;&#xff08;好处&#xff09;**2.1.5 封装只有类能做吗&#xff1f;结构体…...

培训机构Day24

今天讲了一些javaee比较过时的技术&#xff0c;虽然已经过时&#xff0c;该学的还得学学。 知识点&#xff1a; http://localhost:8080/demo01/demo1?a1&b2&c3 pattern: /demo1 上下文路径&#xff1a;ContextPath&#xff0c;/demo01&#xff0c;不包含请求参数。 …...

1/7 C++

练习&#xff1a;要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩&#xff0c;分别完成空间的申请、成绩的录入、升序排序、成绩输出函数&#xff0c;并在主程序中完成测试 要求使用new #include <iostream>using namespace std; double *addr_new() {double …...

C语言初阶习题【23】输出数组的前5项之和

1. 题目描述 求Snaaaaaaaaaaaaaaa的前5项之和&#xff0c;其中a是一个数字&#xff0c; 例如&#xff1a;222222222222222 2.思路 分析下&#xff0c;222222222222222&#xff0c;怎么把它每一项算出来 2 210222 22102222 2221022222 我们的多项式就是a a*102&#xff0c;…...

Android audio(1)-音频模块概述

Audio模块是Android系统的重要组成部分,在 Android 中负责音频路由,数据处理,音频控制,音频设备管理/切换。 下面的内容大多翻译自android官网,读者可跳过阅读后面的博客。 一、系统架构 下图说明了音频模块的组成,并指出各组成部分所涉及的相关源代码。所谓架构就是说模…...

园林与消防工程:选择正确工程项目管理软件的重要性

在园林与消防工程领域&#xff0c;选择正确的工程项目管理软件对于提高项目效率、优化资源配置以及确保项目质量至关重要。以下是对园林与消防工程中选择正确工程项目管理软件重要性的详细分析&#xff1a; 1.提升项目管理效率 实时监控与跟踪&#xff1a;工程项目管理软件能够…...

分布式环境下定时任务扫描时间段模板创建可预订时间段

&#x1f3af; 本文详细介绍了场馆预定系统中时间段生成的实现方案。通过设计场馆表、时间段模板表和时间段表&#xff0c;系统能够根据场馆的提前预定天数生成未来可预定的时间段。为了确保任务执行的唯一性和高效性&#xff0c;系统采用分布式锁机制和定时任务&#xff0c;避…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...