Disallow anything matching the regex pattern
HTML
<input class="valid-char" id="b" style="width:300px" placeholder="keypress">
<div class="counter-a"></div>
<div class="key-a"></div>
<div class="arabic-a"></div>
<div class="russian-a"></div>
JavaScript
var counterA = 0;
//$(".valid-char-a").keypress(function (e) {
var checkChar = function(v) {
$("div.counter-a").text("counter: "+ ++counterA);
// 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 cyrillicAlphabet = /[\u0400-\u04ff]|[\u0500-\u052f]|[\u2de0-\u2dff]|[\ua640-\ua69f]|[\u1d2b-\u1d78]/g;
var arabicAlphabet = /[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]/g;
// Retrieving the key from the char code passed in event.which
// For more info on even.which, look here: http://stackoverflow.com/q/3050984/114029
//e = e || window.event;
//var k = e.keyCode || e.which;
//var key = String.fromCharCode(k);
var key = v;
$("div.key-a").text("key: "+key);
var ruChar = cyrillicAlphabet.test(key);
var arChar = arabicAlphabet.test(key);
$("div.arabic-a").text("arabic: "+arChar);
$("div.russian-a").text("russian: "+ruChar);
// For the keyCodes, look here: http://stackoverflow.com/a/3781360/114029
if (ruChar || arChar) {
//document.getElementById("b").value.substring(this.value.length-1);
//x[i].value.substring(x[i].value.length-1);
alert("STOP! - Please enter your details in english");
return false;
}
};
var handler = function() {
//var char = this.value.substring(this.value.length-1);
var char = this.value.slice(-1);
checkChar(char);
};
var x = document.getElementsByClassName("valid-char");
var i;
for (i = 0; i < x.length; i++) {
x[i].oninput = handler;
}