2011-06-16 19 views
9

Tengo un sitio web multilingüe (chino e inglés).¿Cómo validar el nombre chino (unicode) y el inglés?

Me gusta validar un campo de texto (campo de nombre) en javascript. Tengo el siguiente código hasta ahora.

var chkName = /^[characters]{1,20}$/; 

if(chkName.test("[name value goes here]")){ 
    alert("validated"); 
} 

el problema es que,/^ [characters] {1,20} $/only coincide con los caracteres ingleses. ¿Es posible hacer coincidir CUALQUIER (incluyendo caracteres Unicode)? Solía ​​usar la siguiente expresión regular, pero no quiero permitir espacios entre cada carácter.

/^(.+){1,20}$/ 
+1

¿Qué piensas hacer si se proporciona un nombre coreano, japonés, vietnamita o klingon? –

+0

¿Qué reglas tienes? 1-20 caracteres, sin espacios ¿Algo más? – roberkules

+0

@Russell Borogove // ​​Esa es mi preocupación también. Quiero validar todos los unicodes y el inglés. – Moon

Respuesta

1
var chkName = /\s/; 

function check(name) { 

    document.write("<br />" + name + " is "); 

    if (!chkName.test(name)) { 
     document.write("okay"); 
    } else { 
     document.write("invalid"); 
    } 

} 

check("namevaluegoeshere"); 

check("name value goes here"); 

de esta manera usted simplemente verifique si hay algún espacio en blanco en el nombre.

demostración @http://jsfiddle.net/roberkules/U3q5W/

Cuestiones relacionadas