i "m tratando de fint si una cadena comienza (primera carta) Ancho de una lengua/hebreo RTLJavascript - cómo encontrar hebreo?
cualquier idea
i "m tratando de fint si una cadena comienza (primera carta) Ancho de una lengua/hebreo RTLJavascript - cómo encontrar hebreo?
cualquier idea
Esto encontrará letras hebreas codificados en el rango Hebrew Unicode punto de código:.? [\u0590-\u05FF]
if (str.charCodeAt(0) >= 0x590) && (str.charCodeAt(0) <= 0x5FF) then
se considera un carácter hebreo
"lo más probable"? Diría "definitivamente" :) – Joey
En realidad, hay algunos casos en los que fallaría. Por ejemplo, un párrafo que comienza con un número no es definitivamente un párrafo en inglés/LTR. –
JavaScript no soporta scripts de expresiones regulares como \p{InHebrew}
(o algo similar) sin embargo, soporta Unicode se escapa, lo que podría utilizar una expresión regular como:.
/[\u0590-\u05FF]/
que coincidirá con un solo carácter hebreo.
Ver: http://unicode.org/charts/PDF/U0590.pdf y: http://www.regular-expressions.info/unicode.html
// First choose the required validation
HebrewChars = new RegExp("^[\u0590-\u05FF]+$");
AlphaNumericChars = new RegExp("^[a-zA-Z0-9\-]+$");
EnglishChars = new RegExp("^[a-zA-Z\-]+$");
LegalChars = new RegExp("^[a-zA-Z\-\u0590-\u05FF ]+$"); //Note that this one allows space
// Then use it
if (!LegalChars.test(Field)) {
return false;
}
Especialmente para hebreo la pregunta se responde ya - en relación con todas las gamas:
Especialmente para JS Yo recomendaría una herramienta para construir su expresión regular - ver Unicode range RegExp generator (Compila intervalos de caracteres adecuados para su uso en JavaScript)
[solo seleccione hebreo o los scripts o rangos que desee]
Lo anterior no funciona para mí. ¿Alguna posibilidad de un ejemplo? Estoy [probando esto] (http://jsbin.com/iXOzEHI/1/edit) y está volviendo falso. – hitautodestruct
@hitautodestruct Esto podría ser un poco tarde, pero como referencia, su muestra de código contiene un [en dash] (http://www.thepunctuationguide.com/en-dash.html), ** - **, en su lugar de un guion, ** - **. Esto invalida el rango de tu clase de personaje y hace que el patrón no coincida. Ver [ejemplo corregido aquí] (http://jsbin.com/wifememipo/edit). – Boaz
@Boaz ¡Gracias por esto! Nunca es demasiado tarde :-) – hitautodestruct