Skip to content

Instantly share code, notes, and snippets.

@wsdookadr
Created September 29, 2010 14:54
Show Gist options
  • Save wsdookadr/602882 to your computer and use it in GitHub Desktop.
Save wsdookadr/602882 to your computer and use it in GitHub Desktop.
var sys = require("sys");
var assert = require('assert');
var text = "üßüsd asff asgä äösa sagd asdg dgad sdga sßßü üasg dags öddf fgge wäßüß„«";
function validMessage(msg) {
var i;
var validMsg = "";
for(i=0;i<msg.length;i++){
switch(msg.charCodeAt(i)) {
case 0x0040 :
case 0x00A3 :
case 0x0024 :
case 0x00A5 :
case 0x00E8 :
case 0x00E9 :
case 0x00F9 :
case 0x00EC :
case 0x00F2 :
case 0x00E7 :
case 0x000A :
case 0x00D8 :
case 0x00F8 :
case 0x000D :
case 0x00C5 :
case 0x00E5 :
case 0x0394 :
case 0x005F :
case 0x03A6 :
case 0x0393 :
case 0x039B :
case 0x03A9 :
case 0x03A0 :
case 0x03A8 :
case 0x03A3 :
case 0x0398 :
case 0x039E :
case 0x00A0 :
case 0x000C :
case 0x005E :
case 0x007B :
case 0x007D :
case 0x005C :
case 0x005B :
case 0x007E :
case 0x005D :
case 0x007C :
case 0x20AC :
case 0x00C6 :
case 0x00E6 :
case 0x00DF :
case 0x00C9 :
case 0x0020 :
case 0x0021 :
case 0x0022 :
case 0x0023 :
case 0x00A4 :
case 0x0025 :
case 0x0026 :
case 0x0027 :
case 0x0028 :
case 0x0029 :
case 0x002A :
case 0x002B :
case 0x002C :
case 0x002D :
case 0x002E :
case 0x002F :
case 0x0030 :
case 0x0031 :
case 0x0032 :
case 0x0033 :
case 0x0034 :
case 0x0035 :
case 0x0036 :
case 0x0037 :
case 0x0038 :
case 0x0039 :
case 0x003A :
case 0x003B :
case 0x003C :
case 0x003D :
case 0x003E :
case 0x003F :
case 0x00A1 :
case 0x0041 :
case 0x0042 :
case 0x0043 :
case 0x0044 :
case 0x0045 :
case 0x0046 :
case 0x0047 :
case 0x0048 :
case 0x0049 :
case 0x004A :
case 0x004B :
case 0x004C :
case 0x004D :
case 0x004E :
case 0x004F :
case 0x0050 :
case 0x0051 :
case 0x0052 :
case 0x0053 :
case 0x0054 :
case 0x0055 :
case 0x0056 :
case 0x0057 :
case 0x0058 :
case 0x0059 :
case 0x005A :
case 0x00C4 :
case 0x00D6 :
case 0x00D1 :
case 0x00DC :
case 0x00A7 :
case 0x00BF :
case 0x0061 :
case 0x0062 :
case 0x0063 :
case 0x0064 :
case 0x0065 :
case 0x0066 :
case 0x0067 :
case 0x0068 :
case 0x0069 :
case 0x006A :
case 0x006B :
case 0x006C :
case 0x006D :
case 0x006E :
case 0x006F :
case 0x0070 :
case 0x0071 :
case 0x0072 :
case 0x0073 :
case 0x0074 :
case 0x0075 :
case 0x0076 :
case 0x0077 :
case 0x0078 :
case 0x0079 :
case 0x007A :
case 0x00E4 :
case 0x00F6 :
case 0x00F1 :
case 0x00FC :
case 0x00E0 :
validMsg += msg[i];
break;
default:
sys.puts("this character is not valid -> " + msg[i]);
break;
};
};
validMsg = validMsg.substr(0,760);
return validMsg;
};
var filtered = validMessage(text);
sys.puts(
"initial length = " + text.length + "\n" +
"filtered length = " + filtered.length
);
sys.puts("initial text -> "+text);
sys.puts("filtered text -> "+filtered);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment