var datos = "عينات";
var núm = "123";
var res = datos + num; // devuelve عينات123
Estoy tratando de concatenar números al lado derecho del texto árabe, pero está saltando al lado izquierdo, también intenté invertir la cadena, pero no ayudó.
Sugiera una solución en Javascript.
¡Gracias de antemano!
Puede hacer uso de Directional_Formatting_Codes :
var data = "عينات"; var num = "123"; var res = "\u202A" + data + "\u202C" + num console.log(res);Otra respuesta sugirió agregar caracteres de control en el texto, pero como alguien comentó, este enfoque tiene sus desventajas.
La razón por la que obtiene los dígitos a la izquierda sin importar el orden de la cadena es porque está utilizando un elemento LTR (o la consola del navegador que siempre es LTR). Luego, si los dígitos vienen primero, comienzan a la izquierda, y si las letras árabes vienen primero, comienzan a la derecha porque las letras árabes tienen direcciones RTL "duras" incluso dentro de un elemento LTR.
Sin embargo, si está utilizando un elemento RTL y coloca los dígitos primero, se mostrará como se esperaba:
<div dir="rtl">123عينات</div>O dinámicamente con JavaScript:
var data = "عينات"; var num = "123"; var res = num + data; var el = document.createElement('div'); el.dir = "rtl"; el.textContent = res; document.body.append(el);