Check for unknown parameters/Module:Check for unknown parameters/doc

This module may be appended to a template to check for uses of unknown parameters.

Basic usage
or to sort the entries in the tracking category by parameter with a preview error message

or for an explicit red error message

Here,,  , ...,  , are the known parameters. Unnamed (positional) parameters can be added too:. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the  parameter. The  keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information.

By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. That is, both unlisted x and foo are reported. To only track non-blank parameters use 1.

By default, the module ignores blank positional parameters. That is, an unlisted 2 is ignored. To include blank positional parameters in the tracking use 1.

Lua patterns
This module supports Lua patterns (similar to regular expressions), which are useful when there are many known parameters which use a systematic pattern. For example, template:infobox3cols uses to match all parameters of the form,  ,  ,  ,  ,  , ...,  , where NUM is a string of digits.
 * regexp1 = header[%d][%d]*
 * regexp2 = label[%d][%d]*
 * regexp3 = data[%d][%d]*[abc]?
 * regexp4 = class[%d][%d]*[abc]?
 * regexp5 = rowclass[%d][%d]*
 * regexp6 = rowstyle[%d][%d]*
 * regexp7 = rowcellstyle[%d][%d]*

Call from within Lua code
See the end of Module:Rugby box for a simple example or Module:Infobox3cols or Module:Flag for more complicated examples.