summaryrefslogtreecommitdiff
path: root/program/js/tiny_mce/utils/validate.js
blob: 747b62bb63cf3034fe1aec55ddb522973bc36efa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
 * $RCSfile: validate.js,v $
 * $Revision: 1.3 $
 * $Date: 2006/02/06 20:11:09 $
 *
 * Various form validation methods.
 *
 * @author Moxiecode
 * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
 */

function testRegExp(form_name, element_name, re) {
	return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
}

function validateString(form_name, element_name) {
	return (document.forms[form_name].elements[element_name].value.length > 0);
}

function validateSelection(form_name, element_name) {
	return (document.forms[form_name].elements[element_name].selectedIndex > 0);
}

function validateCheckBox(form_name, element_name) {
	return document.forms[form_name].elements[element_name].checked;
}

function validateCleanString(form_name, element_name) {
	return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$');
}

function validateEmail(form_name, element_name) {
	return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
}

function validateAbsUrl(form_name, element_name) {
	return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
}

function validateNumber(form_name, element_name, allow_blank) {
	return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
}

function validateSize(form_name, element_name,) {
	return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$');
}

function validateID(form_name, element_name,) {
	return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$');
}