最近在做项目的时候实现了一个功能,其中功能是检查用户输入的姓名,手机号码,身份证号,其中的正则表达式来源自于网络,在实现功能的时候遇到的是执行逻辑问题:最后理清逻辑后更新了如下代码:
<script type="text/javascript">
function Add()
{
if ($("#Name").val() == "")
{
alert("请输入姓名");
return false;
}
else
checkIdCard();
}
function checkIdCard() {
var IdCard = $("#IdCard").val();
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (reg.test(IdCard) === false) {
alert("身份证号码输入错误");
return false;
}
else
checkPhone();
}
function checkPhone()
{
var tel = $("#Phone").val(); //获取手机号
var telReg = !!tel.match(/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/);
//如果手机号码不能通过验证
if (telReg == false) {
alert("请正确输入手机号码");
}
else
Addmember();
}
function Addmember()
{
var url = "../Service/HospitalInfoService.svc/AddMember";
$.ajax(url, {
type: "GET",
data: {
Name: $("#Name").val(),
IdCard: $("#IdCard").val(),
Phone: $("#Phone").val(),
Fee: $("#Fee option:selected").val(),
},
dataType:"json",
success: function ()
{
return;
},
error: function () { return;}
})
}
其中的姓名不为空,手机号码和身份证号符合规范即可,
其中前段界面如下:<img src="https://img-blog.csdn.net/20150915200946750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
当点击保存按钮时:先判断姓名是否为空,不为空继续判断身份证号码,一次执行,当其中的某一项不符合规范,就输出相应的提示,
本文仅为自己做个记录,希望以后不会在逻辑上遇到问题