»
EnglishFrenchVietnamese

Print - JavaScript RegEx Example Code for Text Input Limitations - JavaScriptBank.com

Full version: jsB@nk » Form » JavaScript RegEx Example Code for Text Input Limitations
URL: https://www.javascriptbank.com/javascript-regex-example-code-text-input-limitations.html

JavaScript RegEx Example Code for Text Input Limitations © JavaScriptBank.comOne more JavaScript code example to limit user inputs with many options: non-alphanumeric characters with spaces, removes extra spaces (multiple consecutive, leading and trailing) and blank lines. In this live demo, you can only enter upto 20 characters per line or a total of 10 lines.The advantage of this JavaScript code example is it's made with RegEx, so user input filters will be processed better.

Full version: jsB@nk » Form » JavaScript RegEx Example Code for Text Input Limitations
URL: https://www.javascriptbank.com/javascript-regex-example-code-text-input-limitations.html



JavaScript
<script type="text/javascript">// Created by: Ilya Gerasimenko | http://www.gerasimenko.com/// This script downloaded from www.JavaScriptBank.com// clean linescleanUpLine = function (str,limit) { // clean string var clean_pass1 = str.replace(/\W/g, ' ');//replace punctuation with spaces var clean_pass2 = clean_pass1.replace(/\s{2,}/g, ' ');// compact multiple whitespaces var clean_pass3 = clean_pass2.replace(/^\s+|\s+$/g, '');// trim whitespaces from beginning or end of string var clean_pass4 = clean_pass3.substring(0,limit);// trim string return clean_pass4;}// number of keywords and keyword length validationcleanUpList = function (fld) { var charLimit = 20;// ADJUST: number of characters per line var lineLimit = 10;// ADJUST: number of lines var cleanList = []; var re1 = /\S/;// all non-space characters  var re2 = /[\n\r]/;// all line breaks var tempList = fld.value.split('\n'); for (var i=0; i<tempList.length;i++) {  if (re1.test(tempList[i])) { // store filtered lines in an array   var cleanS = cleanUpLine(tempList[i],charLimit);   cleanList.push(cleanS);  }  }  for (var j=0; j<tempList.length;j++) {  if (tempList[j].length > charLimit && !re2.test(tempList[j].charAt(charLimit))) { // make sure that last char is not a line break - for IE compatibility  fld.value = cleanList.join('\n'); // restore from array  } } if (cleanList.length > lineLimit) {  cleanList.pop();// remove last line  fld.value = cleanList.join('\n'); // restore from array } fld.onblur = function () {this.value = cleanList.join('\n');} // onblur - restore from array}// Multiple onload function created by: Simon Willison// http://simonwillison.net/2004/May/26/addLoadEvent/function addLoadEvent(func) {  var oldonload = window.onload;  if (typeof window.onload != 'function') {    window.onload = func;  } else {    window.onload = function() {      if (oldonload) {        oldonload();      }      func();    }  }}addLoadEvent(  function () {  document.form.word_list.onkeyup =function () {  cleanUpList(document.form.word_list);  }  });</script>


HTML
Textarea below has limitations: 20 characters and 10 lines<br /><form name="form"> <textarea cols="22" rows="12" name="word_list" id="word_list"></textarea></form>