js从字符串中提取身份证号,连续18位数字

<!DOCTYPE html>
<html>
<head>
    <title>提取身份证号</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
</head>
<body>
<div id="one">
    林芳德 30233212956620120x 男 26岁
    李云飞 302332129566201201 女 30岁
    龚丽芬 302332129566201202 男 28岁
    王晋珺 30233212956620120X 男 20岁
</div>

<script type="text/javascript">
function getIDcard(string){
    var reg=/[0-9,X,x]/;
    var num = 0;
    var IDarr = "";
    var arr = string.split("");
    for (var i = 0; i < arr.length; i++) {
        var item = arr[i];
        if(reg.test(item)){
            num++;
            IDarr += ""+item;
            if(num == 18){
                console.log(IDarr.toString())
            }
        }else{
            num = 0;
            IDarr = "";
        }
    }
}

var stringone = document.getElementById("one").innerHTML;
getIDcard(stringone);
</script>
</body>
</html>
时间: 2024-08-28 09:09:21

js从字符串中提取身份证号,连续18位数字的相关文章

Excel 中如何将 15 位身份证号转换为 18 位

假设A列自A2起是身份证号(15位或18位). 1.身份证号全部改为18位,输入数组公式: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 注意:数组公式输入方法:输入公式后不要按回车,而是按

js验证真实姓名与身份证号

最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 r

从一个字符串中提取一个子字符串

编写一个函数,它从一个字符串中提取一个子字符串.函数原型如下: int substr(char dst[], char src[],int start, int len) {} 目标是:从 src 数组起始位置向后偏移 start个字符的位置开始,最多复制 len 个非NUL 字符到 dst数组.在复制完毕之后, dst 数组必须以 NUL字节结尾.函数的返回值是存储于 dst 数组中的字符串的长度. #include<stdio.h> #include<stdlib.h> #de

31:字符串中最长的连续出现的字符

31:字符串中最长的连续出现的字符 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数.字符串中无空白字符(空格.回车和tab),如果这样的字符不止一个,则输出出现最早的字符. 输入 一行,一个不包含空白字符的字符串,字符串长度小于200. 输出 一行,输出最长的连续出现的字符及其最长的连续出现次数,中间以一个空格分开. 样例输入 aaaaadbbbbbcccccccdddddddddd 样例输出

从字符串中提取数字串并排序(C语言实现)

#include "stdio.h" #include "stdlib.h" #include "string.h" typedef int BOOL; #define TRUE 1; #define FALSE 0; static void SplitBySeparator( char **arr, char *str, int size, char sep); void SortNums ( char* str, int size, int

js、html中的单引号、双引号及其转义使用

js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<input value="Test" type="button" onclick="alert(""OK"");" />IE提示出错后,再漫不经心地改为:<input value="Test&

java从字符串中提取数字

1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只需要直接进入该页面然后直接找到第一条或者最后一条数据即可. 2.例子: 界面: javs代码: /** * java从字符串中提取数字 * str:传递过来的字符串 */ public static List<String> getNUm(String str){ str.trim(); //St

字符串中最长的连续出现的字符【指针练习】

链接:http://ica.openjudge.cn/zz/2/ 总时间限制: 1000ms  内存限制: 65536kB 描述 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格.回车和tab),如果这样的字符不止一个,则输出第一个 输入 首先输入N,即测试数据的组数每组测试数据输入:一行,一个不包含空白字符的字符串,字符串长度小于200 输出 一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开 样例输入 2 aaaaabbbbbcccccccdddd

用js识别字符串中的英文字母字符和非字符(汉字)

前不久去阿里的在线笔试,最后一道题可算是难倒了我,题目大概是这样的:用原生的js实现字符串中的英文字母字符和汉字的识别,汉字按照两个单位计算,英文和字符按照一个单位计算,乍一想真不知道有什么好办法,以前写c代码太多,就用c代码对ascii的办法来,笔试结束字符才知道,js是很高大上的玩意儿,这招行不通.在这里我介绍一种很简单很靠谱的方法,用unicode字符集的办法来解决. 首先脑补一下小知识:unicode字符集数字0 - 128是英文字母字符(半角)的范畴,在这以外是其他字符(全角),用js