https://github.com/wusb/digital-keyboard
⌨️ Digital Keyboard 数字键盘
https://github.com/wusb/digital-keyboard
digital digital-keyboard digitalkeyboard keyboard mobile-keyboards
Last synced: 6 months ago
JSON representation
⌨️ Digital Keyboard 数字键盘
- Host: GitHub
- URL: https://github.com/wusb/digital-keyboard
- Owner: wusb
- License: mit
- Created: 2018-05-10T02:16:08.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-13T09:01:41.000Z (almost 7 years ago)
- Last Synced: 2025-04-10T15:58:14.159Z (6 months ago)
- Topics: digital, digital-keyboard, digitalkeyboard, keyboard, mobile-keyboards
- Language: JavaScript
- Homepage:
- Size: 170 KB
- Stars: 277
- Watchers: 12
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README-zh_CN.md
- License: LICENSE
Awesome Lists containing this project
README
[English](README.md) | 简体中文
# DigitalKeyboard 数字键盘
[](https://travis-ci.org/simbawus/digital-keyboard)
[](https://coveralls.io/github/simbawus/digital-keyboard?branch=master)
[](https://www.npmjs.com/package/digital-keyboard)
[](https://www.npmjs.com/package/digital-keyboard)
[](https://github.com/simbawus/digital-keyboard/blob/master/LICENSE)- 原生js开发、不依赖任何框架和库的轻量级移动端数字键盘
- 支持身份证、手机号、整数、小数多类型输入
- API简洁,非常好上手
- 开发总结:[从0开始发布一个无依赖、高质量的npm](https://github.com/simbawus/blog/issues/12)[](https://i.loli.net/2018/05/16/5afc5086957b3.gif)
## 键盘类型
![]()
小数
![]()
整数/手机号
![]()
身份证
## 属性
| Property | Type | Default | Description |
| :------------ | :------- | :------ | :--------------------------------------- |
| el | DOM | | 键盘父节点 |
| className | String | | 外部传入可控制键盘样式的class |
| type | String | decimal | 键盘类型:decimal小数,integer整数,phone手机号,idcard身份证 |
| language | String | chinese | 语言:chinese,english |
| inputValue | Function | | 键盘输入返回值 |
| integerDigits | Number | | 限制整数位数 |
| decimalDigits | Number | | 限制小数位数 |## 开始上手
### 安装
```shell
yarn add digital-keyboard --dev
```### 使用示例
- **原生 JavaScript**
```html
数字键盘
.container {
color: #333;
}
```
```javascript
//digitalKeyboard.js
import DigitalKeyboard from 'digital-keyboard';function inputValue(value){
console.log(value); //DigitalKeyboard return value
document.querySelector('#values').innerHTML = value;
}new DigitalKeyboard(
{
el: document.querySelector('#app'),
type: 'idcard',
className: 'container',
inputValue: inputValue,
integerDigits: 4,
decimalDigits: 2
}
);
```- **React**
```jsx
import React from 'react';
import DigitalKeyboard from "digital-keyboard";
import s from './digitalKeyboard.scss;class KeyboardPage extends React.Component {
constructor(){
super();this.inputValue = this.inputValue.bind(this);
this._renderKeyboard = this._renderKeyboard.bind(this);
}componentDidMount(){
this._renderKeyboard();
}inputValue(value){
console.log(value); //DigitalKeyboard return value
}_renderKeyboard(){
return new DigitalKeyboard (
{
el: this.refs.digitalKeyboard,
className: s.container,
type: 'number',
inputValue: this.inputValue,
integerDigits: 4,
decimalDigits: 2
}
);
}render(){
return (
)
}
}export default KeyboardPage;
```- **Vue**
```js
.container {
color: #333;
}import DigitalKeyboard from "digital-keyboard";
export default {
mounted () {
this._renderDigitalKeyboard();
},
methods: () {
_renderDigitalKeyboard() {
return new DigitalKeyboard (
{
el: this.$el,
className: 'container',
type: 'number',
inputValue: this.inputValue,
integerDigits: 4,
decimalDigits: 2
}
);
},inputValue(value) {
console.log(value); //DigitalKeyboard return value
}
}
}```
- **Angular**```typescript
// Online-demo: https://stackblitz.com/edit/angular-hkexnq
import { Component, ViewChild, OnInit, ViewEncapsulation} from '@angular/core';
import DigitalKeyboard from "digital-keyboard";@Component({
selector: 'my-app',
template: `
`,
styles: [`
.container {
color: #333;
}
`],
encapsulation: ViewEncapsulation.None
})
export class AppComponent implements OnInit{@ViewChild('keyboard') keyboard;
ngOnInit(){
this._renderDigitalKeyboard();
}_renderDigitalKeyboard(){
return new DigitalKeyboard (
{
el: this.keyboard.nativeElement,
className: 'container',
type: 'number',
inputValue: this.inputValue,
integerDigits: 4,
decimalDigits: 2
}
);
}inputValue(value) {
console.log(value); //DigitalKeyboard return value
}
}
```## 如何贡献
欢迎每个人为这个项目做出贡献。可以从查看我们[未解决的问题](https://github.com/simbawus/DigitalKeyboard/issues)、[提交新问题](https://github.com/simbawus/DigitalKeyboard/issues/new?labels=bug)或[提出新功能](https://github.com/simbawus/DigitalKeyboard/issues/new?labels=enhancement)入手,参与讨论投票您喜欢或不喜欢的问题。
## 开源证书
[**The MIT License**](LICENSE).