diff options
Diffstat (limited to 'src/modules/core/regex.js')
-rw-r--r-- | src/modules/core/regex.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/modules/core/regex.js b/src/modules/core/regex.js new file mode 100644 index 0000000..1056554 --- /dev/null +++ b/src/modules/core/regex.js @@ -0,0 +1,58 @@ +// Parse unit value +export let numberAndUnit = /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i + +// Parse hex value +export let hex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i + +// Parse rgb value +export let rgb = /rgb\((\d+),(\d+),(\d+)\)/ + +// Parse reference id +export let reference = /(#[a-z0-9\-_]+)/i + +// splits a transformation chain +export let transforms = /\)\s*,?\s*/ + +// Whitespace +export let whitespace = /\s/g + +// Test hex value +export let isHex = /^#[a-f0-9]{3,6}$/i + +// Test rgb value +export let isRgb = /^rgb\(/ + +// Test css declaration +export let isCss = /[^:]+:[^;]+;?/ + +// Test for blank string +export let isBlank = /^(\s+)?$/ + +// Test for numeric string +export let isNumber = /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i + +// Test for percent value +export let isPercent = /^-?[\d.]+%$/ + +// Test for image url +export let isImage = /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i + +// split at whitespace and comma +export let delimiter = /[\s,]+/ + +// The following regex are used to parse the d attribute of a path + +// Matches all hyphens which are not after an exponent +export let hyphen = /([^e])-/gi + +// Replaces and tests for all path letters +export let pathLetters = /[MLHVCSQTAZ]/gi + +// yes we need this one, too +export let isPathLetter = /[MLHVCSQTAZ]/i + +// matches 0.154.23.45 +export let numbersWithDots = /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi + +// matches . +export let dots = /\./g |