2012-05-12 11 views
23

Trabajo con MVC y soy nuevo en él. Quiero verificar que los valores de entrada estén solo en idioma persa (Caracteres) por [RegularExpression] Validación. Así que creo usar Regex y necesito verificar el alcance de los unicodes, pero no sé cómo se puede encontrar el rango de caracteres persas Unicode. ¿Estoy en lo cierto acerca de esta Regex? ¿cuál es su sugerencia y cómo puedo encontrar variedad de Unicode en PersaRegex para comprobar que la cadena de entrada está en el idioma persa

+0

No veo por qué necesitarías una expresión regular para verificar si un personaje está dentro de un rango determinado. – jahroy

+0

¡Personajes! = Idioma. Por ejemplo, 'hdafhladf' no es inglés. Y estoy seguro de que hay algunos personajes que no están clasificados oficialmente como "persas", pero están permitidos en persa (¿quizás en caracteres en blanco?) –

Respuesta

14

Comprobar primera letra y último rango de letras en Persa creo algo como esto:

"^[آ-ی]$" 
+0

no funciona en php –

+4

no funciona con caracteres persas como "خ", "پ", ... ¡porque no está en idioma árabe! Creo que es mejor usarlo: [\ u0600- \ u06FF] –

17

caracteres persas están dentro del rango: [\u0600-\u06FF]

Probar:

Regex.IsMatch(value, @"^[\u0600-\u06FF]+$") 
+4

'[\ u0600- \ u06FF \ uFB8A \ u067E \ u0686 \ u06AF]' es mejor . ver http://stackoverflow.com/a/22565376/896465 – seyed

+0

@downvoter: ¿Alguna razón? – Toto

8

Uso este RegExp en mi programa, y ​​funciona correctamente. esperan para ayudarle a:

[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤآإأءًٌٍَُِّ\s]+$ 
0

caracteres persas están dentro del rango: [\ u0600- \ u06FF] + [\ s]

Probar:

Regex.IsMatch(Text, @"^([\u0600-\u06FF]+\s?)+$") 

Este Patern Contiene Carta y el espacio Charachters.

13
Regex.IsMatch(Text, @"^([\u0600-\u06FF]+\s?)+$")  

Esto sólo contienen símbolos estándar Árabe Intervalo Pero Pérsico también incluyen 4 más caracteres:

ژ \uFB8A 
پ \u067E 
چ \u0686 
گ \u06AF 

lo que debe utilizar:

^[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF]+$ 

Si desea hacer coincidir cero anchura- sin unión, debe agregar esto también:

\u200C 
+2

considere aceptar espacio y no anotador de ancho cero en los caracteres. https://stackoverflow.com/a/34869397/5160077 –

Cuestiones relacionadas