JSFiddle - React, Tailwind, and code Playground

by Peter Aad

HTML

<input type="text" class="valid-char" />

JavaScript

validationOfChar();
// removed from anonyous function area so that it's accessible from manage-details.js as well
function validationOfChar() {
    // flag for pasted event
    var pasted = false;
    var ua = navigator.userAgent.toLowerCase();
    var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
    var cyrillicAlphabet = /[\u0400-\u04ff]|[\u0500-\u052f]|[\u2de0-\u2dff]|[\ua640-\ua69f]|[\u1d2b-\u1d78]/g;
    var arabicAlphabet = /[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]/g;


    var checkChar = function (v, elem) {alert(5);

        // Disallow anything matching the regex pattern
        // For more on JavaScript Regular Expressions, look here: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions


        var key = v;
        var ruChar = cyrillicAlphabet.test(key);
        var arChar = arabicAlphabet.test(key);


        if (ruChar || arChar) {
            var el = elem;
            if (!pasted) { // if not pasted, remove the last char
                var str = el.value;
                str = str.substring(0, str.length - 1);
                el.value = str;
            } else { // if pasted, remove the whole lot
                el.value = "";
            }

            displayMessage;
 

        } // reset pasted flag
        pasted = false;
        return false;
    };
    
    var displayMessage = function () {
            var msgAlert = "stopped";
            alert(msgAlert);
    }

    var handler = function () {
        var char = this.value.slice(-1);
        checkChar(char, this);

    };

    if (!isAndroid) {
        $(".valid-char").keypress(function (event) {
            
            var key = String.fromCharCode(event.which);
            var ruChar = cyrillicAlphabet.test(key);
            var arChar = arabicAlphabet.test(key);
            console.log("ar: "+arChar+", ru:"+ruChar);
            if (ruChar || arChar){
                displayMessage();
                return false;
...