<html> <head> <title>Simple online base64 encode/decode</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.0/css/bulma.min.css" /> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script> <style>
.column {
padding-bottom: 0;
}
</style> </head> <body> <div id="app" class="container"> <br/> <h1 class="title">简单的在线base64编码/解码</h1> <br/> <div class="columns"> <h2 class="column is-half subtitle">纯文本</h2> <div class="column has-text-right"> <span class="select"> <select v-model="passwordLength"> <option value="8">长度 8</option> <option value="12">长度 12</option> <option value="16">长度 16</option> <option value="20">长度 20</option> <option value="24">长度 24</option> </select> </span> <button class="button" v-on:click="genPassword">生成密码</button> <button class="button clip-btn" data-clipboard-target="#text">复制到剪贴板</button> </div> </div> <textarea id="text" class="textarea" v-model="text" v-on:keyup="encode" v-on:change="encode"></textarea> <br/> <br/> <div class="columns"> <h2 class="column is-half subtitle">Base64编码</h2> <div class="column has-text-right"> <button class="button clip-btn" data-clipboard-target="#base64">Copy to Clipboard</button> </div> </div> <textarea id="base64" class="textarea" v-model="base64" v-on:keyup="decode"></textarea> <br/> <p class="notification has-text-grey"> 键入文本并获取base64编码,或键入base64并获取纯文本.
<b>双向绑定!</b> </p> <hr/> <p class="has-text-centered"> </p> </div> <script>
var app = new Vue({
el: '#app',
data: {
text: '',
base64: '',
passwordLength: 16
},
methods: {
encode: function (event) {
this.$data.base64 = btoa(this.$data.text);
},
decode: function (event) {
this.$data.text = atob(this.$data.base64);
},
genPassword: function (event) {
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
let text = "";
for (let i = 0; i < this.$data.passwordLength; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
this.$data.text = text;
this.encode(event);
}
}
});
new ClipboardJS('.clip-btn');
</script> </body> </html>评论已关闭!