Los campos de texto y número se pueden restringir a un determinado formato o rango de valores para garantizar la coherencia en la forma en que se especifica un valor en toda la organización. Por ejemplo, es posible que desee asegurarse de que todos los números de teléfono se introducen en el formato 123-456-7890. Del mismo modo, es posible que tenga un campo numérico para almacenar números de factura de cuatro dígitos y desee asegurarse de que todos los valores de ese campo se encuentren entre 1000 y 9999. Los datos de campo que se han introducido y formateado de forma coherente facilitan mucho la búsqueda de esos datos.
Los datos de campo solo se pueden restringir para determinados tipos de campo: campos de texto y campos numéricos. Las restricciones que tendrá un campo de texto determinado están determinadas por expresiones regulares, una notación utilizada para definir un patrón de texto. Para obtener más información, consulte Uso de expresiones regulares para restringir campos de texto. Las restricciones que tendrá un campo numérico determinado están determinadas por operadores relacionales numéricos. Para obtener más información, consulte Uso de operadores relacionales para restringir campos numéricos. También puede ver las restricciones de campo de ejemplo en Patrones de restricción comunes. Estas restricciones muestran la notación de ejemplo que se puede utilizar para restringir los datos de campo.
La siguiente referencia describe las partes de una expresión regular que se pueden combinar para formar una restricción de campo de texto.
Al especificar restricciones, es posible que desee que ciertos caracteres se asignen automáticamente a un campo, lo que se puede hacer escribiendo los caracteres en los que desea que aparezcan en el campo. Las excepciones son caracteres reservados para su uso por expresiones regulares. Puede ver una lista de estos caracteres desde la columna Símbolo de la tabla siguiente. Los caracteres reservados se pueden asignar automáticamente a un campo colocando una barra diagonal invertida antes del carácter reservado.
Por ejemplo, si su organización decide que los números de teléfono deben especificarse como (310) 555-1212, debe especificar la siguiente expresión: . Observe que los paréntesis se han escapado con una barra diagonal invertida porque los paréntesis están reservados para, mientras que el guión no se ha realizado. Tanto los paréntesis como los guiones son caracteres reservados. Sin embargo, los guiones nunca se pueden utilizar sin corchetes, por lo tanto, se tratan como un carácter normal y no requieren una barra diagonal invertida.
La asignación de esta restricción a un campo creará indicadores visuales sobre cómo se deben formatear los datos de campo. En el ejemplo indicado anteriormente, los campos en blanco se verán como "( ) - ." Como puede ver, los usuarios no tendrán que escribir los paréntesis o el guión al especificar un número de teléfono. Estos símbolos se muestran automáticamente para indicar cómo debe ser el formato de un número de teléfono.
En la tabla siguiente se describe cada expresión regular que se puede usar para establecer un patrón que los datos de campo deben coincidir.
Nombre | Símbolo | Descripción |
---|---|---|
Cualquier personaje | . | Cualquier carácter individual. |
Carácter en el rango | [] | Cualquier carácter dentro de los corchetes. Por ejemplo, la expresión [abc123] solo permite cualquiera de los siguientes caracteres: "a," "b", "c", "1", "2" o "3." |
Carácter no en rango | [^] | Cualquier carácter individual excepto los que están dentro de los corchetes. Por ejemplo, la expresión [abc123] solo permite cualquier carácter, excepto: "a", "b", "c", "1", "2" o "3." |
Carácter de rango | [-] | Cualquier carácter único contenido en el intervalo especificado. Por ejemplo, la expresión [0-9] solo permite cualquier número que se encuentre entre 0 y 9. |
Comienzo de la entrada | ^ | Requiere la expresión que le sigue al principio del valor definido por el usuario. Por ejemplo, la expresión "[abc123] solo permite los datos de campo que comienzan con "a", "b", "c", "1", "2" o "3." |
Fin de la entrada | $ | Requiere la expresión que la precede al final del valor definido por el usuario. Por ejemplo, la expresión [abc123]$ solo permite datos de campo que terminan con "a," "b," "c", "1", "2" o "3." |
No | ! | Requiere que la expresión que sigue al símbolo (!) no se encuentre en los datos de campo. Por ejemplo, la expresión a!b solo permite datos de campo que contengan una "a" cuando no va seguida inmediatamente de "b." |
O | | | Requiere una de las dos expresiones. Por ejemplo, la expresión que él-ella permite sólo los datos de campo que se establecen en "él" o "ella." |
0 o más | * | La expresión anterior puede producirse cero o más veces. Por ejemplo, la expresión [0-9]* permite cualquier conjunto de dígitos consecutivos o ningún dígito en absoluto. |
1 o más | + | La expresión anterior puede producirse una o varias veces. Por ejemplo, la expresión [0-9]+ permite cualquier conjunto de dígitos consecutivos. |
Declaración anterior es opcional | ? | La expresión anterior es opcional. Los datos que satisfacen la expresión se pueden especificar como datos de campo o un usuario puede optar por no introducirla. Por ejemplo, la expresión [0-9][0-9]? sólo permite un dígito o dos. |
Grupo | () | Agrupa una expresión. Por ejemplo, la expresión (t- T)él permite sólo los datos de campo que se establecen en "el" o "El". |
Carácter de escape | \ | Una abreviatura (ver tabla a continuación) o que el siguiente carácter se traduzca literalmente. Este carácter solo se debe utilizar para caracteres reservados, como los que aparecen en la columna Símbolo de esta tabla. Por ejemplo, el valor de d+ solo permite uno o más dígitos, mientras que el valor de "d+" permite un dígito seguido de un signo más. |
Clases de personajes
Una clase de carácter se puede utilizar para restringir el carácter de un campo determinado.
Nombre | Símbolo | Descripción |
---|---|---|
Alfanuméricos | [[:alnum:]] | Cualquier carácter alfanumérico. |
Alfabético | [[:alfa:]] | Cualquier carácter alfabético en los siguientes rangos: a-z y A-Z. |
Espacio/Tab | [[:blank:]] | Un espacio o una pestaña. |
Dígitos | [[:d igit:]] | Cualquier dígito. Un carácter válido es un número entero de 0 a 9. |
Caso inferior | [[:lower:]] | Cualquier carácter en minúsculas (es decir, a-z). |
Imprimible | [[:p rint:]] | Cualquier carácter imprimible. |
Puntuación | [[:p:]] | Cualquier carácter de puntuación. |
Espacio | [[:espacio:]] | Cualquier carácter de espacio en blanco. |
Mayúsculas | [[:superior:]] | Cualquier carácter en mayúsculas (es decir, A-Z). |
Hexadecimal | [[:xdigit:]] | Cualquier dígito hexadecimal (es decir, 0-9, a-f y A-F). |
Palabra | [[:palabra:]] | Cualquier palabra carácter. Los caracteres válidos son todos caracteres alfanuméricos y guiones bajos. |
Abreviaturas
En la tabla siguiente se describen las distintas abreviaturas para especificar una expresión regular.
Nombre | Símbolo | Descripción |
---|---|---|
Carácter | . | Cualquier carácter individual. |
Dígito decimal | d | Cualquier dígito decimal. Sintaxis correspondiente: [[:d igit:]] |
Dígito no decimal | D | Cualquier carácter excepto un solo dígito decimal. Sintaxis correspondiente: [-[:d igit:]] |
Espacio | \s | Un solo carácter de espacio. Sintaxis correspondiente: [[:space:]] |
No-Espacio | \s | Cualquier carácter excepto un solo carácter de espacio. Sintaxis correspondiente: [[:space:]] |
La siguiente referencia describe los operadores relacionales que se pueden combinar para formar una restricción de campo numérico.
En la tabla siguiente se describe cada operador que se usará para comparar un valor de un campo con el intervalo de valores válidos para ese campo. Estos deben utilizarse junto con los valores numéricos: por ejemplo, para especificar que el valor debe ser mayor que 1000, la restricción se escribiría como ">1000".
Nombre | Símbolo | Descripción |
---|---|---|
Menos de | < | Un valor válido es menor que el número especificado. |
Mayor que | > | Un valor válido es mayor que el número especificado. |
Menos o igual a | <= | Un valor válido es menor o igual que el número especificado. |
Mayor o igual a | >= | Un valor válido es mayor o igual que el número especificado. |
Igual a | = | Un valor válido es igual al número especificado. |
No es igual a | <> | Un valor válido no es igual al número especificado. |
Operadores de lógica booleana
En la tabla siguiente se describen los operadores booleanos que se pueden usar para combinar operadores relacionales. Se puede utilizar el nombre o el símbolo; los nombres no distinguen entre mayúsculas y minúsculas. Por ejemplo, para especificar que un valor debe estar entre 1000 y 9999, la restricción podría escribirse como ">-1000 AND <-9999" o como ">-1000 & <-9999".
Nombre | Símbolo | Descripción |
---|---|---|
Y | & | Ambas restricciones deben cumplirse para que el valor sea válido. |
O | | | Se debe cumplir al menos una restricción para que el valor sea válido. |
No | ! | No se debe cumplir la restricción para que el valor sea válido. |
Orden de Precedencia
Se puede crear una restricción numérica con más de un operador booleano. En ese caso, la cadena se analizará en el siguiente orden: NOT se aplicará primero, seguido de AND, seguido de OR. Los paréntesis se utilizarán para agrupar.
Ejemplos
En los ejemplos siguientes se muestra el uso de los distintos operadores relacionales y booleanos.
Restricción deseada | Cadena de restricción numérica |
---|---|
Un valor válido debe ser mayor que cuatro. | >4 |
Un valor válido no debe ser mayor que 999. | !>999 |
Un valor válido debe estar entre 1 y 10, sin incluir 1 y 10. | 1 < & < 10 |
Un valor válido debe estar entre 100 y 200 o entre 500 y 900, incluidos 100, 200, 500 y 900. | (>-100 & <-200) (>-500 & <-900) |
Se trata de una breve lista de patrones comunes que se pueden usar para restringir los datos de campo, proporcionados solo como una introducción a los muchos usos de las expresiones regulares para garantizar el formato de datos adecuado. Estos, como cualquier otro patrón, se pueden modificar para adaptarse mejor a las necesidades de su organización.
Nota: Estos patrones comunes utilizan principalmente abreviaturas para simplificar. Sin embargo, también puede utilizar los símbolos admitidos al configurar una restricción.
Patrones comunes de restricción de texto
Tipo | Patrón | Ejemplo |
---|---|---|
Número de teléfono ((xxx) formato xxx-xxxx) | \(\d\d\d\) \d\d\d-\d\d\d\d | (562) 988-1688 |
Número de teléfono (formato xxx-xxx-xxxx) | .d-d-d-d-d-d-d-d-d-d-d-d | 562-988-1688 |
Número de Seguro Social (formato xxx-xx-xxxx) | \d\d\d-\d\d-\d\d\d\d | 123-45-6789 |
Código postal (formato xxxxx o xxxxx-xxxx) | ¿D-d-d-d(-d-d-d-d-d)? | 90807 O: 90807-1234 |
Patrones de restricción numérica comunes
Tipo | Patrón |
---|---|
Número de cuatro dígitos | > 1000 & <-9999 |
Sólo números positivos | >-0 |
Aparecerá un mensaje cuando un usuario intente asignar un valor de campo que no satisfaga la restricción configurada para un campo. Este mensaje se puede personalizar, de modo que su organización pueda proporcionar instrucciones específicas sobre cómo se debe dar formato a un valor de campo.
Además de informar a los usuarios del formato adecuado, es posible que desee considerar proporcionar ejemplos de cómo se deben formatear los datos de campo. For example, if your regular expression looked like: \(\d\d\d\) \d\d\d-\d\d\d\d, you may want to use the following message:
El valor asignado al campo no se ha formateado correctamente. El formato adecuado para este campo es el siguiente: (xxx) xxx-xxxx. Un ejemplo de un número de teléfono correctamente formateado es: (562) 988-1688.