【问题标题】:Assistance with form and javascript协助表单和 javascript
【发布时间】:2015-02-03 14:07:32
【问题描述】:

我需要以下方面的帮助。

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

身份证号示例为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>

【问题讨论】:

  • 有什么问题吗?你可以发布你的代码。另外,这么多标签没有理由
  • 是时候学习 substr 或正则表达式了。
  • 您需要拆分您的身份号码,然后解释获得的令牌,更多帮助请参阅此答案stackoverflow.com/questions/650022/…

标签: javascript php jquery html css


【解决方案1】:

您需要从您的第一个输入中删除“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/

希望对你有帮助。

【讨论】:

  • 呃,喂? OP 你走了吗?你的问题解决了吗?有帮助吗?
  • 他在我的回答下给你发了一条消息。请见下文。
【解决方案2】:

首先从表单中检索数字(我对html做了一点修改)

<input type="text" name="id_number" id="IdentityNumber" maxlength="13">

string identityNumber = document.getElementById("IdentityNumber");

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

South African ID Number Validate and Get Age and Gender

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

【讨论】:

  • @Elgringorrible 非常感谢你,我现在还在学习编码 5 个月。性别 性别:
    不起作用我不知道我哪里做错了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多