* Removed the Kevin Roth rich text editor and replaced it with TinyMCE.
[citadel.git] / webcit / tiny_mce / utils / validate.js
1 /**
2  * $RCSfile$
3  * $Revision$
4  * $Date$
5  *
6  * Various form validation methods.
7  *
8  * @author Moxiecode
9  * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
10  */
11
12 function testRegExp(form_name, element_name, re) {
13         return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
14 }
15
16 function validateString(form_name, element_name) {
17         return (document.forms[form_name].elements[element_name].value.length > 0);
18 }
19
20 function validateSelection(form_name, element_name) {
21         return (document.forms[form_name].elements[element_name].selectedIndex > 0);
22 }
23
24 function validateCheckBox(form_name, element_name) {
25         return document.forms[form_name].elements[element_name].checked;
26 }
27
28 function validateCleanString(form_name, element_name) {
29         return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$');
30 }
31
32 function validateEmail(form_name, element_name) {
33         return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
34 }
35
36 function validateAbsUrl(form_name, element_name) {
37         return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
38 }
39
40 function validateNumber(form_name, element_name, allow_blank) {
41         return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
42 }
43
44 function validateSize(form_name, element_name,) {
45         return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$');
46 }
47
48 function validateID(form_name, element_name,) {
49         return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$');
50 }