• Thế Giới Giải Mã

    Bí ẩn nhân loại Leonardo Da Vinci

  • Thế Giới Giải Mã

    Anh hùng thầm lặng Nikola Tesla

  • Thế Giới Giải Mã

    Thần đèn Thomas Edison

  • Thế Giới Giải Mã

    Người thôi miên Adolf Hitler

Showing posts with label QR Code. Show all posts
Showing posts with label QR Code. Show all posts

20 November 2021

Regex : QRCode type detection - Javascript

 QRCode type detection - Javascript

QRCode type detection
2021
let TYPE_TEXT = "TEXT";
let TYPE_URL = "URL";
let TYPE_PHONE = "PHONE NUMBER";
let TYPE_WIFI = "WIFI";
let TYPE_UPI = "UPI";
//#region type detection
function isUrl(decodedText) {
  var expression1 =
    /^((javascript:[\w-_]+(\([\w-_\s,.]*\))?)|(mailto:([\w\u00C0-\u1FFF\u2C00-\uD7FF-_]+\.)*[\w\u00C0-\u1FFF\u2C00-\uD7FF-_]+@([\w\u00C0-\u1FFF\u2C00-\uD7FF-_]+\.)*[\w\u00C0-\u1FFF\u2C00-\uD7FF-_]+)|(\w+:\/\/(([\w\u00C0-\u1FFF\u2C00-\uD7FF-]+\.)*([\w\u00C0-\u1FFF\u2C00-\uD7FF-]*\.?))(:\d+)?(((\/[^\s#$%^&*?]+)+|\/)(\?[\w\u00C0-\u1FFF\u2C00-\uD7FF:;&%_,.~+=-]+)?)?(#[\w\u00C0-\u1FFF\u2C00-\uD7FF-_]+)?))$/g;
  var regexExp1 = new RegExp(expression1);
  if (decodedText.match(regexExp1)) {
    return true;
  }

  var expression2 =
    /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g;
  var regexExp2 = new RegExp(expression2);

  if (decodedText.match(regexExp2)) {
    return true;
  }
  return false;
}

function isPhoneNumber(decodedText) {
  var expression = /tel:[+]*[0-9]{3,}/g;
  var regexExp = new RegExp(expression);
  return decodedText.match(regexExp);
}

function isWifi(decodedText) {
  var expression = /WIFI:S:(.*);T:(.*);P:(.*);H:(.*);;/g;
  var regexExp = new RegExp(expression);
  return decodedText.match(regexExp);
}

function isUpi(decodedText) {
  try {
    var upiUri = new URL(decodedText);
    if (!upiUri || upiUri == null) {
      return false;
    }
    return upiUri.protocol === 'upi:';
  } catch (err) {
    return false;
  }
}

function detectType(decodedText) {
  if (isUrl(decodedText)) {
    return TYPE_URL;
  }

  if (isPhoneNumber(decodedText)) {
    return TYPE_PHONE;
  }

  if (isWifi(decodedText)) {
    return TYPE_WIFI;
  }

  if (isUpi(decodedText)) {
    return TYPE_UPI;
  }

  return TYPE_TEXT;
}
//#endregion

01 September 2018

Bitcoin QR Code | Javascript

Bitcoin QR Code
JS 2018
$(document).ready(function() {
    var qrcode = new QRCode("qrcode"); //id= qrcode

    function makeCode() {
        var address = "1MX9C2CsuobgGHRtn7WMuZ2CX82fDKMe4n";
        var amount = 0.5;
        var elText = "bitcoin:" + address + "?amount=" + amount;
        qrcode.makeCode(elText);
    }

    makeCode();
})
<!-- import qrcode -->
<script src="http://davidshimjs.github.io/qrcodejs/qrcode.min.js"></script>
<!-- Display -->
<div id="qrcode"></div>

 

BACK TO TOP

Xuống cuối trang