html5在线生成,HTML5摩斯密码在线生成器

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

var checked = true;

var morseOutput = []

document.getElementById('input').addEventListener('input', function(){

if(checked){

textToMorse(this.value.toLowerCase())

}else{

morseToText(this.value.toLowerCase())

}

})

function morseToText(value){

const text = document.getElementById('text')

text.innerHTML = ''

let output = value.split(' ').map(function(v){

if(v === '') return ' '

for(var i in morse){

if(morse[i] === v){

return i;

}

}

}).filter(function(v){

return v;

})

document.getElementById('text').innerHTML = output.join('')

}

function textToMorse(value){

const res = document.getElementById('res')

res.innerHTML = ''

let output = ''

morseOutput = []

for(var i in value){

if(morse[value[i]]){

output += morse[value[i]]

morseOutput.push(morse[value[i]])

}

}

for(var i in output){

const div = document.createElement('div')

if(output[i] === '.'){

div.className = 'circle'

}else if(output[i] === '-'){

div.className = 'dash'

} else if(output[i] === ' '){

div.className = 'whitespace'

}

res.appendChild(div)

}

}

document.getElementById('checkbox').addEventListener('change', function(){

checked = this.checked

const label = document.getElementById('label')

const copyButton = document.getElementById('copybutton')

if(checked){

label.innerHTML = 'Text to morse code'

copyButton.style.display = ''

}else{

label.innerHTML = 'Morse code to text (please use space between each character)'

copyButton.style.display = 'none';

}

document.getElementById('input').value = ''

document.getElementById('res').innerHTML = ''

document.getElementById('text').innerHTML = ''

})

document.getElementById('copybutton').addEventListener('click', function(){

const dummy = document.createElement('input')

document.body.appendChild(dummy)

dummy.setAttribute('id', 'dummy_id')

document.getElementById('dummy_id').value = morseOutput.join(' ')

dummy.select()

document.execCommand('copy')

document.body.removeChild(dummy)

})

var morse = {

" ": " ",

"0": "-----",

"1": ".----",

"2": "..---",

"3": "...--",

"4": "....-",

"5": ".....",

"6": "-....",

"7": "--...",

"8": "---..",

"9": "----.",

"a": ".-",

"b": "-...",

"c": "-.-.",

"d": "-..",

"e": ".",

"f": "..-.",

"g": "--.",

"h": "....",

"i": "..",

"j": ".---",

"k": "-.-",

"l": ".-..",

"m": "--",

"n": "-.",

"o": "---",

"p": ".--.",

"q": "--.-",

"r": ".-.",

"s": "...",

"t": "-",

"u": "..-",

"v": "...-",

"w": ".--",

"x": "-..-",

"y": "-.--",

"z": "--..",

".": ".-.-.-",

",": "--..--",

"?": "..--..",

"!": "-.-.--",

"-": "-....-",

"/": "-..-.",

"@": ".--.-.",

"(": "-.--.",

")": "-.--.-",

"'": ".-..-."

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值