====== Регулярные выражения в Siebel eScript пример использования. ====== Наша задача написать функцию которая будет возвращать ошибку в случаи если в поле ИНН клиента содержится любой символ кроме числа. Задача на первый взгляд достаточно простая. Делаем тип поля число и вопрос решен, но не все так просто. ИНН клиента юр. лица может начинаться с числа ’0′ и как мы помним из уроков математики ’0′ в начале числа убирается. :( Учитывая это нам необходимо делать тип поля текст что в свою очередь разрешает запись любого символа. Пример ниже проверяет каждый символ входящей переменной используя регулярные выражения. В случаи если символ не число формирует ошибку и выводит её в дальнейшем. ==== Вариант №1 ==== function CheckINN(&text) { var rExp=""; var v_i1 = 0; var msgText = ""; //Объявляем переменные которые можно использовать в строке rExp = new RegExp(/[0-9]/); //Проверяем необходимое количество символов в строке. msgText += CheckLenght(text,10,"Y"); //Цикл по буквам в строке for (var i =0; i < text.length; i++) { //Проверяем символ if ((!rExp.test(text.charAt(i)))) { v_i1++; msgText += " Разрешено использовать только 'цифры'."; break; } } return msgText; } ==== Вариант №2 ==== Как вариант можно использовать следующее: if (text.match(/^[\d]{10}$/) == null) msgText += «ИНН должен содержать только 10 цифр»; ==== JavaScript Regular Expression Syntax ==== Element Matches this...\\ [xyz] Any one character x or y or z, as listed in square brackets\\ [x-z] Any one character within the range specified in brackets\\ [^xyz] Any one character except x, y, z\\ [^x-z] Any one character except the range in brackets\\ . Any character except newline\\ \d \D Any digit (\d), any non-digit (\D) \\ \s \S Any whitespace (\s), any non-whitespace (\S) \\ \w \W Any word character (\w), any non-word character (\W) \\ \b \B Word boundary (\b), non-boundary (\B)\\ [\b] Backspace (the square brackets help distinguish backspace from word boundary)\\ ^ Beginning of string; beginning of line if the m flag is set\\ $ End of string; end of line if the m flag is set\\ \n \r \f \t \v Newline, carriage return, form feed, tab, vertical tab\\ \+ \- \. \* \? \| Match + - . * ? | etc. verbatim (not as a special character)\\ \/ \\ \^ \$ Match / \ ^ $ verbatim (not as a special character)\\ \[ \] \( \) \{ \} Match brackets/parentheses/braces verbatim\\ \xAB Match the character with hexadecimal code AB\\ \uABCD Match the Unicode character with hexadecimal code ABCD\\ x|y Match x or y\\ + Match the preceding element one or more times\\ * Match the preceding element zero or more times\\ ? Match the preceding element zero or one time\\ {n} Match the preceding element exactly n times\\ {n,} Match the preceding element n or more times\\ {m,n} Match the preceding element at least m, at most n times\\ (...) Match ... as a capturing group: store the matching substring\\ (used with string.match(re) to return an array of matching strings)\\ \1 \2 \3 etc. Match the same substring as in capturing group number 1, 2, 3 etc. \\ $1 $2 $3 etc. Replace with the characters that matched group number 1, 2, 3 etc.\\ (used in the second argument of replace() method)\\ (?:...) Match ... as a non-capturing group: grouping only, no storing\\ Any character Match the character verbatim\\ (except the above)\\ RegExp flags can be any combination of the following:\\ i Ignore case (both lowercase and uppercase letters will match)\\ g Global (allow multiple matches)\\ m Multiline (^ and $ will match the beginning/end of lines)\\ The effect of not setting these flags is as follows:\\ i not set The regular expression is case-sensitive\\ g not set Use only the first match (no global search)\\ m not set ^ and $ match the beginning/end of the entire string\\ Notes\\ (1) A whitespace (\s) in a regular expression matches any one of the characters: space, formfeed (\f), newline (\n), return (\r), tab (\t), vertical tab (\v), non-breaking space (\xA0), as well as the Unicode characters \u00A0 \u2028 \u2029. (2) When using the RegExp constructor: for each backslash in your regular expression, you have to type \\ in the RegExp constructor. (In JavaScript strings, \\ represents a single backslash!) For example, the following regular expressions match all leading and trailing whitespaces (\s); note that \\s is passed as part of the first argument of the RegExp constructor: re = /^\s+|\s+$/g re = new RegExp('^\\s+|\\s+$','g') Copyright © 1999-2011, JavaScripter.net.