Angular 信用卡输入组件 - 助力你的支付表单构建
Angular 开发者们,是否在构建支付表单时遇到过困扰?寻找一个既安全又易于使用的信用卡输入组件吗?那么,让我们一起探索 angular-credit-cards 这个开源项目,它将为你的应用程序带来高效且直观的信用卡信息处理体验。
项目介绍
angular-credit-cards 是一组专为 Angular 应用设计的指令,用于创建信用卡支付表单。利用强大的 creditcards 库进行输入解析和验证。它与 angular-stripe 或其他任何支付后端都能无缝配合。点击这里 尝试在线演示,感受一下它的魅力吧!
安装与设置
你可以通过以下两种方式安装 angular-credit-cards:
# 使用 npm
npm install angular-credit-cards
# 或者使用 bower
bower install angular-credit-cards
之后,在你的 Angular 模块中引入该库:
// 如果你在 Node.js 环境下
angular.module('myApp', [
require('angular-credit-cards')
]);
// 或者直接引用代码
angular.module('myApp', [
'credit-cards'
]);
如果需要访问 creditcards 的 API 直接,可以注入服务为 creditcards。
API 说明
所有指令都要求元素上绑定 ngModel,除了 ccExp 外。它们被设计为可独立使用,但通常会配合使用。所有的输入元素应使用 type="text",以触发移动端的电话键盘。
卡号输入(cc-number)
<input type="text" ng-model="card.number" cc-number cc-type="cardType" ng-required="true" />
- 可以通过添加
cc-format来格式化输入,如4242 4242 4242 4242 - 去除所有标点符号和空格
- 验证卡号是否符合 Luhn 算法
- 根据指定的
cc-type属性检查卡号类型(可选) - 若未指定类型,则自动匹配任何有效的卡类型
- 在模型控制器上暴露卡片类型为
$ccType
CVC 输入(cc-cvc)
<input type="text" ng-model="card.cvc" cc-cvc ng-required="true" />
<input type="text" ng-model="card.cvc" cc-type="cardNumber.$ccType" ng-required="true" />
- 设置
maxlength="4" - 验证 CVC
你可以通过 cc-type 指令选择性地指定卡号类型的检查。
到期日输入(cc-exp,cc-exp-month,cc-exp-year)
<div cc-exp>
<input ng-model="card.exp_month" cc-exp-month ng-required="true" />
<input ng-model="card.exp_year" cc-exp-year ng-required="true" />
</div>
cc-exp-month 和 cc-exp-year 分别验证月和年,并将其转换为数字。cc-exp 检查月份和年份的组合是否已过期。
集成与应用
这个库适用于熟悉 Angular 表单验证的开发者,如果你不熟悉,可以参考以下资料:
cc-exp-month,cc-exp-year 应放在 input 元素内,类型设为 text 或不设定类型,以保持浏览器的正常最大长度行为。cc-exp 必须放在 cc-exp-month 和 cc-exp-year 的父元素上,由于它不是一个输入字段,所以其有效性不能直接通过 myForm.ccExp.$valid 访问,而应该使用 myForm.$error.ccExp。
项目特点
- 提供空间分隔的格式化功能,提升用户体验。
- 支持多种信用卡类型,包括但不限于 Visa,American Express,MasterCard。
- 自动检测并验证 Luhn 算法、卡号类型、CVC 和到期日期。
- 易于集成到现有的 Angular 应用程序中。
- 配合 AngularJS 内置的表单验证机制,方便自定义错误提示。
现在,你已经了解了 angular-credit-cards 的强大之处,为什么不在自己的项目中试一试呢?让这个便捷的工具帮助你打造更加安全高效的支付流程!
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00