Text Editor Demo

A text editor

by chrismg12

HTML

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Test Ground</title>
	<link rel="stylesheet" href="bootstrap-4.3.1-dist/css/bootstrap.min.css">
	<style>
		html,body{
			height: 100%;
			margin: 0px 0px 0px 0px;
		}
		.container{
			height: 100%;
		}
	</style>
</head>
<body>
	<div class="container"></div>
</body>
</html>

JavaScript

var lNo = "";
function isAlpha(name){
	if(name.search(/[^A-Za-z\s]/) != -1){
  		return false
  	}else{
  		return true
  	}
}
function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
function scrolled(o){
	if(o.offsetHeight + o.scrollTop == o.scrollHeight)
	{
		return true;
	}
}
function injectStyles(rule) {
  var div = $("<div />", {
    html: '&shy;<style>' + rule + '</style>'
  }).appendTo("body");    
}
$.fn.selectRange = function(start, end) {
    return this.each(function() {
        if (typeof end == "undefined") {
            end = start;
        }
        if (start == -1) {
            start = this.value.length;
        }
        if (end == -1) {
            end = this.value.length;
        }
        if (this.setSelectionRange) {
            this.focus();
            this.setSelectionRange(start, end+1);
        }
        else if (this.createTextRange) {
            var range = this.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    });
};
$.fn.selectRangeExcludingLast = function(start, end) {
    return this.each(function() {
        if (typeof end == "undefined") {
            end = start;
        }
        if (start == -1) {
            start = this.value.length;
        }
        if (end == -1) {
            end = this.value.length;
        }
        if (this.setSelectionRange) {
            this.focus();
            this.setSelectionRange(start, end+1);
        }
        else if (this.createTextRange) {
            var range = this.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    });
};

function getPos(str, substr, index){
	var io = str.split(substr, index).join(substr).length;
	if(io>=str.length){
		return -1;
	}else{
		return io;
	}
}
function...