活动介绍
file-type

为身份证设计的自定义数字键盘开源项目

ZIP文件

下载需积分: 9 | 389KB | 更新于2025-08-29 | 201 浏览量 | 0 下载量 举报 收藏
download 立即下载
标题:“ios-A custom digital keyboard for idcard.zip” 揭示了这是一份为身份证(ID Card)设计的自定义数字键盘,针对iOS平台的软件开发包(SDK)或框架。这个包极有可能包含了一个可以嵌入到iOS应用程序中使用的自定义键盘插件,为用户输入身份证号码提供便利。 描述:“A custom digital keyboard for idcard” 说明了这个包的主要功能是创建了一个专门用于输入身份证号码的数字键盘。身份证号码通常包含多种特定的格式要求,比如中国大陆的身份证号码长度为18位,其中包含了出生日期、顺序码以及校验码等信息。一个自定义的数字键盘可以更精确地控制用户输入,提高数据的准确性和输入效率。描述中还提到了一个网址https://github.com/CNKCQ/IDCardKeyboard.git,这是一个指向GitHub上的开源项目,开发者和用户可以前往该地址查看更多信息,或者对项目进行贡献,比如提issue(问题反馈)或fork(分支复制)该项目。 标签:“键盘” 表明该文件或项目与键盘输入界面有直接关联,这种自定义键盘与传统键盘不同,是为特定的数据输入需求量身定制的。在移动设备上,特别是在涉及到特定格式输入的场景(如身份证号码、电话号码、信用卡信息等),自定义键盘可以大大提升用户体验。 压缩包子文件的文件名称列表:“IDCardKeyboard” 显示了这个压缩包中至少包含一个主文件或主目录,名称为“IDCardKeyboard”。这个名称很可能对应着一个项目或框架的名称。通常,项目或框架的名称会直接反映其功能和用途。因此,我们可以合理推测这个“IDCardKeyboard”项目包含有创建定制数字键盘的所有必要代码、资源、文档和可能的使用说明。 针对这份文件的知识点,可以从以下几个方面详细阐述: iOS开发中的自定义键盘:在iOS开发中,创建自定义键盘允许开发者设计新的用户输入界面,满足特定的需求。这通常涉及到继承`UIKeyInput`协议和`UIInputViewController`类,或者在iOS 10及以上版本中使用更先进的`TextInput`框架。开发者需要处理键盘的显示、隐藏以及输入事件,同时还要注意自定义键盘的布局和设计,确保输入方便和准确。 身份证号码格式及其验证:身份证号码作为重要的个人身份识别信息,拥有特定的格式和校验规则。中国大陆的身份证号码是18位,前6位是地址码,接着是8位出生日期码,然后是3位顺序码,最后一位是校验码。校验码由前面的数字计算得出,一般使用ISO 7064,MOD 11-2标准。自定义键盘可能需要内置逻辑以确保输入符合格式,并提供简单的校验功能。 在GitHub上的开源项目管理:GitHub是一个基于Git的代码托管平台,提供在线的项目管理和协作工具。开发者可以使用GitHub来进行代码的版本控制,问题追踪,代码审查等。该平台是开源项目集中和共享代码的社区。开发者可通过“Fork”创建项目的分支副本,再通过“Pull Request”向原项目贡献代码,或者通过“Star”来表达对项目的喜好和支持。 综上所述,这份文件主要围绕了为身份证设计的iOS自定义数字键盘的开发和使用,以及该键盘在GitHub平台上的开源项目情况。了解和掌握这些知识,对于需要处理特定格式输入的iOS应用开发者尤为重要。

相关推荐

filetype

create temporary table tmp_rights_tool_info SELECT b.sea_id, -- 海名称 b.name sea_name, -- 海名称 '' lake_id, -- 湖id '' lake_name, -- 湖名称 b.comcode comcode, -- 归属机构 优先取湖 c.groupcode, -- 客户经理的 团队编码 xzpt_user_replenish c.groupname, -- 客户经理的 团队名称 xzpt_user_replenish h.group_leader, -- 客户经理 所属团队的团队长 rights_group_info case a.rights_type when '1' then '权益项目' when '2' then '权益包' end rights_type, -- 权益类型 case a.rights_type when '1' then g.title when '2' then f.name else g.title end received_rights_name, -- 权益项目/包 名称 b.sea_start rights_start, -- 权益开始时间 优先去湖的 没有再取海 b.sea_end rights_end, -- 权益结束时间 优先去湖的 没有再取海 b.rights_total_num, -- 所含权益总数量 优先去湖的 (b.rights_total_num - b.rights_remain_num) rights_use_num, -- 已分配权益数量 b.rights_remain_num, -- 剩余可分配权益数量 a.valid_start, -- 滴管器有效期-起期 a.valid_end, -- 滴管器有效期-止期 -- 导入客群、总部客群、规则动态客群、公共,优先取湖的客群,湖为空再取海的客群 case b.customer_type when '0' then '公共' when '1' then '客户标签' when '2' then '导入客群' when '3' then '总部客群' when '4' then '规则动态客群' else '' end customer_type, '指定客户类型' customer_group, b.status sea_status, -- 海状态 '' lake_status, -- 湖状态 a.manager_code, -- 客户经理代码 c.username, -- 客户经理名称 case when c.groupcode_3 is null then '否' when c.groupcode_3 = '' then '否' else '是' end is_service_manager, -- 是否服务经理 c.userclassificationname_3 group_type, -- 服务经理团队类型 服务经理团队类型 a.resource, -- 滴管来源 a.tool_id, -- 滴管id a.customer_name, -- 客户信息 a.customer_idcard, -- 客户身份证密文 a.is_received, -- 是否已经领取 a.receive_time, -- 客户领取时间 case a.status when '0' then '未滴灌' when '1' then '已生成链接' when '2' then '已滴灌' when '3' then '已失效' when '4' then '已作废' else '' end tool_status, -- 滴管状态 case e.is_send_url when 1 then '是' else '否' end is_send_url -- 是否已发送链接 from rights_tool_info a left join rights_sea_info b on a.parent_id = b.sea_id left join xzpt_user_replenish c on a.manager_code = c.qywx_account left join tmp_rights_tool_history_info e on a.tool_id = e.toolid left join rights_package f on a.rights_id = f.package_id left join rights_info g on a.rights_id = g.rule_id left join rights_group_info h on c.groupcode = h.group_code where b.customer_type in ('2', '3', '4'); 我查询创建临时表 如何给临时表字段添加对应的长度 而不是默认长度

filetype

<el-form :rules="formRules" :model="pageModel.form" label-width="120px" size="small" class="el-form-container "> <el-form-item label="姓名" prop="policeName" class="content"> <el-input v-model.trim="pageModel.form.policeName" :disabled="pageModel.pageInfo.formConfig.type == '2' " @compositionstart="isComposing = true" @compositionend="handleCompositionEnd" /> </el-form-item> <el-form-item label="性别" prop="sex" class="content" v-if="pageModel.pageInfo.environmentShow === true"> <el-select v-model="pageModel.form.sex" placeholder="请选择" style="width: 100%" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .sexType" :key="index" :label="item.dictLabel" :value="item.dictValue"> </el-option> </el-select> </el-form-item> <el-form-item label="身份证号" prop="idCard" class="content" v-if="pageModel.pageInfo.environmentShow === true"> <el-input v-model="pageModel.form.idCard" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="所属单位" prop="deptId" class="content"> <el-cascader :options="pageModel.listDept" v-model="pageModel.form.deptId" :props="{ children: 'children', label: 'deptName', value: 'deptId', checkStrictly: true, }" style="width: 100%" @change="changeHandel" :disabled="pageModel.pageInfo.formConfig.type == '2' " clearable /> </el-form-item> <el-form-item label="警号" prop="policeCode" class="content"> <el-input v-model="pageModel.form.policeCode" :disabled="pageModel.pageInfo.formConfig.type == '2' " onkeyup="this.value=this.value.replace(/[^\w_]/g,'')" /> </el-form-item> <el-form-item label="警种" prop="policeType" class="content"> <el-input v-model="pageModel.form.policeType" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="接入方式" prop="pattern" class="content"> <el-select v-model="pageModel.form.pattern" placeholder="请选择" style="width: 100%" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .type" :key="index" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="单位信息" prop="shortName" class="content"> <el-input v-model="pageModel.form.shortName" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="职务" prop="post" class="content" v-if="pageModel.pageInfo.environmentShow === true"> <el-input v-model="pageModel.form.post" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="手机号" prop="phone" class="content" v-if="pageModel.pageInfo.environmentShow === true"> <el-input v-model="pageModel.form.phone" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="邮箱" prop="email" class="content" v-if="pageModel.pageInfo.environmentShow === true"> <el-input v-model="pageModel.form.email" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> <el-form-item label="头像" prop="userPic" class="content flex-container" v-if="pageModel.pageInfo.environmentShow === true"> <el-upload class="upload-demo" action="" v-else v-model="pageModel.form.userPic" :http-request="uploadActionHandle" :before-upload="beforeAvatarUpload" :before-remove="beforeDeleteImage" :on-remove="deleteImageHandel" :file-list="pageModel.pageInfo.imageList" list-type="picture"> <el-button size="small" type="primary">点击上传 </el-button> </el-upload> </el-form-item> <el-form-item label="备注" prop="remark" class="content flex-container" v-if="pageModel.pageInfo.environmentShow === true"> <el-input v-model="pageModel.form.remark" :disabled="pageModel.pageInfo.formConfig.type == '2' " type="textarea" :rows="3" /> </el-form-item>/** createBy: muyufei time: 2023-10-16 10:20:03 des: 提交form校验规则 */ export const formRules = { policeName: [ {required: true, message: '姓名不能为空', trigger: 'blur'} ], policeCode: [ {required: true, message: '警号不能为空', trigger: 'blur'} ], deptId: [ {required: true, message: '所属单位不能为空', trigger: 'change'} ] }

filetype

<el-dialog :visible.sync="pageModel.pageInfo.formConfig.isShow" :close-on-click-modal="false" width="50%"> {{ pageModel.pageInfo.formConfig.dialogTitle }} <el-form :rules="formRules" :model="pageModel.form" label-width="120px" size="small"> <el-row :gutter="24"> <el-col :span="11"> <el-form-item label="姓名" prop="policeName" class="content"> <el-input v-model.trim="pageModel.form.policeName" class="w100Percent" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="性别" prop="" class="content"> <el-select v-model="pageModel.form.sex" placeholder="请选择" style="width: 100%" class="w100Percent" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .sexType" :key="index" :label="item.dictLabel" :value="item.dictValue"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="身份证号" prop="" class="content"> <el-input v-model="pageModel.form.idCard" class="w100Percent" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="所属单位" prop="deptId" class="content"> <el-cascader :options="pageModel.listDept" v-model="pageModel.form.deptId" :props="{ children: 'children', label: 'deptName', value: 'deptId', checkStrictly: true, }" style="width: 100%" @change="changeHandel" :disabled="pageModel.pageInfo.formConfig.type == '2' " clearable /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="警号" prop="policeCode" class="content"> <el-input v-model="pageModel.form.policeCode" class="w100Percent" :disabled="pageModel.pageInfo.formConfig.type == '2' " onkeyup="this.value=this.value.replace(/[^\w_]/g,'')" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="警种" prop="policeType" class="content"> <el-input v-model="pageModel.form.policeType" :disabled="pageModel.pageInfo.formConfig.type == '2' " class="w100Percent" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="接入方式" prop="" class="content"> <el-select v-model="pageModel.form.pattern" placeholder="请选择" style="width: 100%" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .type" :key="index" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="单位信息" prop="" class="content"> <el-input v-model="pageModel.form.shortName" :disabled="pageModel.pageInfo.formConfig.type == '2' " class="w100Percent" /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="职务" prop="" class="content"> <el-input v-model="pageModel.form.post" :disabled="pageModel.pageInfo.formConfig.type == '2' " class="w100Percent" /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="手机号" prop="" class="content"> <el-input v-model="pageModel.form.phone" :disabled="pageModel.pageInfo.formConfig.type == '2' " class="w100Percent" /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="邮箱" prop="" class="content"> <el-input v-model="pageModel.form.email" :disabled="pageModel.pageInfo.formConfig.type == '2' " class="w100Percent" /> </el-form-item> </el-col> <el-col :span="24" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="头像" prop="" class="content"> <el-upload class="upload-demo" action="" v-else v-model="pageModel.form.userPic" :http-request="uploadActionHandle" :before-upload="beforeAvatarUpload" :before-remove="beforeDeleteImage" :on-remove="deleteImageHandel" :file-list="pageModel.pageInfo.imageList" list-type="picture"> <el-button size="small" type="primary">点击上传 </el-button> </el-upload> </el-form-item> </el-col> <el-col :span="24" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="备注" prop="" class="content"> <el-input v-model="pageModel.form.remark" :disabled="pageModel.pageInfo.formConfig.type == '2' " type="textarea" :rows="3" class="w100Percent" /> </el-form-item> </el-col> </el-row> </el-form>
<el-button class="mgl18" @click="pageModel.pageInfo.formConfig.isShow = false" size="small">取消 </el-button> <el-button type="primary" size="small" @click="submitHandle">保存 </el-button>
</el-dialog>为什么输入姓名是汉字,会在下方出现空白,检查发现这里什么都没有,还有选择 <el-cascader :options="pageModel.listDept" v-model="pageModel.form.deptId" :props="{ children: 'children', label: 'deptName', value: 'deptId', checkStrictly: true, }" style="width: 100%" @change="changeHandel" :disabled="pageModel.pageInfo.formConfig.type == '2' " clearable />之后也会有空白

filetype

<el-dialog :visible.sync="pageModel.pageInfo.formConfig.isShow" :close-on-click-modal="false" width="50%"> {{ pageModel.pageInfo.formConfig.dialogTitle }} <el-form :rules="formRules" :model="pageModel.form" label-width="120px" size="small"> <el-row :gutter="24"> <el-col :span="11"> <el-form-item label="姓名" prop="policeName" class="content"> <el-input v-model.trim="pageModel.form.policeName" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="性别" prop="sex" class="content"> <el-select v-model="pageModel.form.sex" placeholder="请选择" style="width: 100%" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .sexType" :key="index" :label="item.dictLabel" :value="item.dictValue"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="身份证号" prop="idCard" class="content"> <el-input v-model="pageModel.form.idCard" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="所属单位" prop="deptId" class="content"> <el-cascader :options="pageModel.listDept" v-model="pageModel.form.deptId" :props="{ children: 'children', label: 'deptName', value: 'deptId', checkStrictly: true, }" style="width: 100%" @change="changeHandel" :disabled="pageModel.pageInfo.formConfig.type == '2' " clearable /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="警号" prop="policeCode" class="content"> <el-input v-model="pageModel.form.policeCode" :disabled="pageModel.pageInfo.formConfig.type == '2' " onkeyup="this.value=this.value.replace(/[^\w_]/g,'')" /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="警种" prop="policeType" class="content"> <el-input v-model="pageModel.form.policeType" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="接入方式" prop="pattern" class="content"> <el-select v-model="pageModel.form.pattern" placeholder="请选择" style="width: 100%" :disabled="pageModel.pageInfo.formConfig.type == '2' "> <el-option v-for="(item, index) in pageModel.pageInfo .type" :key="index" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="11"> <el-form-item label="单位信息" prop="shortName" class="content"> <el-input v-model="pageModel.form.shortName" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="职务" prop="post" class="content"> <el-input v-model="pageModel.form.post" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="手机号" prop="phone" class="content"> <el-input v-model="pageModel.form.phone" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="11" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="邮箱" prop="email" class="content"> <el-input v-model="pageModel.form.email" :disabled="pageModel.pageInfo.formConfig.type == '2' " /> </el-form-item> </el-col> <el-col :span="24" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="头像" prop="userPic" class="content"> <el-upload class="upload-demo" action="" v-else v-model="pageModel.form.userPic" :http-request="uploadActionHandle" :before-upload="beforeAvatarUpload" :before-remove="beforeDeleteImage" :on-remove="deleteImageHandel" :file-list="pageModel.pageInfo.imageList" list-type="picture"> <el-button size="small" type="primary">点击上传 </el-button> </el-upload> </el-form-item> </el-col> <el-col :span="24" v-if="pageModel.pageInfo.environmentShow === true"> <el-form-item label="备注" prop="remark" class="content"> <el-input v-model="pageModel.form.remark" :disabled="pageModel.pageInfo.formConfig.type == '2' " type="textarea" :rows="3" /> </el-form-item> </el-col> </el-row> </el-form>
<el-button class="mgl18" @click="pageModel.pageInfo.formConfig.isShow = false" size="small">取消 </el-button> <el-button type="primary" size="small" @click="submitHandle">保存 </el-button>
</el-dialog>为什么输入姓名是汉字,高度会比其他的高,没有单独设置高度的样式

普通网友
  • 粉丝: 484
上传资源 快速赚钱