协助表单和JavaScript

Assistance with form and javascript

本文关键字:JavaScript 表单      更新时间:2023-09-26

我希望在以下方面提供帮助。

我有三个输入,第一个是身份证号码,第二个是出生日期,第三个是性别。我想要的是当我在第一个字段中插入身份号码以自动插入出生日期和性别时。南非身份证号码包含出生日期和性别。我想要的只是当我插入ID号,出生日期和性别以自动插入时

身份号码示例140101 5000 089 - 前六个数字是以 yymmdd 开头的出生日期,第二个数字是如果数字以 0-4 开头,则为女性,如果以 5-9 开头,则为男性

First name: <input type="number" name="id_number" maxlength="13"><br>
Birthdate: <input type="text" class="datepicker" name="birthdate"><br>
Gender: <input type="text" name="gender"><br>
您需要

从第一个输入中删除"type=number"。否则,它将不允许键入空格。然后,您可以将 ID 拆分为单词数组并使用它们。

var $input1 = $("input[name=id_number]"),
    $input2 = $("input[name=birthdate]"),
    $input3 = $("input[name=gender]");
$input1.on("keyup", function(){
		
	var id = $input1.val().split(" "),
        birthdate="",
        gender="",
        part1 = id[0],
        part2 = id[1];
    
    if(part1.length>5) birthdate = part1.substr(0,2) + "/" + part1.substr(2,2) + "/" + part1.substr(4,2);
	
	$input2.val(birthdate);
    
    if(part2 && part2.length){
         if(parseInt(part2[0]) <5)
             gender = "Female"
         else
             gender = "Male"
      
        $input3.val(gender);
    }
	
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Identity number : <input type="text" name="id_number" maxlength="13"><br>
Birthdate: <input type="text" class="datepicker" name="birthdate"><br>
Gender: <input type="text" name="gender"><br>

http://jsfiddle.net/as6rdtb1/

希望对您有所帮助。

首先从表单中检索数字(我稍微修改了 html)

<input type="text" name="id_number" id="IdentityNumber" maxlength="13">
string identityNumber = document.getElementById("IdentityNumber");

然后,您可以重用以下答案中使用的逻辑从中提取字段。
(出生日期和性别)

南非身份证号码验证并获取年龄和性别

然后将它们分配回相应的文本框。
(根据上面的@Elgringorrible答案。