2015-02-10 4 views
1

Я ищу регулярное выражение или функцию, которая возвращает TRUE/FALSE, которая обнаруживает наличие символов Unicode Un-ASCII, которые будут использоваться в моем вызове $("form").validate({. В принципе, если пользователь вводит любые символы в Юникоде, я хочу, чтобы проверка была неудачной. Я хочу разрешить все стандартные, SQL-VARCHAR-приемлемые символы.Validate.JS - Disallow Персонажи Unicode, отличные от ASCII

+0

Это чисто для первых/Фамилия валидаций, поэтому вопросы о числах Юникода и этажерки сделать не применять. – PKD

+1

Знаете ли, символы ASCII также являются символами Юникода. Я думаю, вы хотели спросить о символах Unicode, отличных от ASCII. –

+0

Вы, конечно, правы, и я сделаю редактирование вопроса, чтобы это было более полезно для тех, кто следит. Благодаря! – PKD

ответ

2

Вы можете просто использовать это регулярное выражение:

var re = /[^\x00-\x7f]/; 

затем использовать его как:

var invalid = re.test(name); 
// true if there is any character beyond ASCII (128) is present 
+1

Фантастический. Точно, о чем просили. – PKD

+0

Добро пожаловать, рад, что это сработало. – anubhava

2

Использование String.charCodeAt.

for(var i = 0, l = string.length; i < l; i++) { 
    if(string.charCodeAt(i) > 127) { 
     return false; 
    } 
} 
return true; 
+0

Если бы я мог принять два ответа, я бы проверял это, но это было нечто вроде «первого прихода». – PKD

+0

@PKD Не нужно объяснять свой голос; просто убедитесь, что вы выбрали тот, который, по вашему мнению, более полезен. Не важно, кто был первым. – acbabis

+0

Они оба очень прокляты, полезны и хорошо написаны. В конце концов, я пошел на «короткое и сладкое», но я ценю знание, присущее обоим, и я снял этот вопрос, чтобы сохранить его для использования KB позже. Благодаря! – PKD

Смежные вопросы