当前位置: 首页 > 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;

}

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

感情恋爱合集

职业发展故事

常用代码片段

程序开发教程

自我备考经验 

http://www.lryc.cn/news/516953.html

相关文章:

  • 【计算机视觉】单目深度估计模型-Depth Anything-V2
  • Servlet 和 Spring MVC:区别与联系
  • 【期末复习】三、内存管理
  • Microsoft Azure Cosmos DB:全球分布式、多模型数据库服务
  • 【Docker】安装registry本地镜像库,开启Https功能
  • JUC--线程池
  • 后端Java开发:第十一天
  • 基于 GEE 的长时间序列 Landsat 5 影像下载
  • Unity-Mirror网络框架从入门到精通之Attributes属性介绍
  • 软考证书邮寄步骤
  • 计算机网络 (29)网络地址转换NAT
  • nlp培训重点-2
  • 设计模式(1)——面向对象和面向过程,封装、继承和多态
  • 培训机构Day24
  • 1/7 C++
  • C语言初阶习题【23】输出数组的前5项之和
  • Android audio(1)-音频模块概述
  • 园林与消防工程:选择正确工程项目管理软件的重要性
  • 分布式环境下定时任务扫描时间段模板创建可预订时间段
  • SQL刷题笔记——高级条件语句
  • 与 Oracle Dataguard 相关的进程及作用分析
  • 游戏语音趋势解析,社交互动有助于营造沉浸式体验
  • 美食烹饪互动平台
  • 【51单片机零基础-chapter5:模块化编程】
  • Redis中的主从/Redis八股
  • ROS笔记
  • 在 Linux 上调试 C++ 程序
  • 让跨 project 联查更轻松,SLS StoreView 查询和分析实践
  • 20240107-类型转换
  • 关于Linux PAM模块下的pam_listfile