2013-04-23 3 views
0

Предположим, у меня есть следующий код JS, я могу только удалить целые символы всякий раз, когда он получает неприемлемые символ (ы):javascript: как удалить последнюю запись?

function checkInput() { 
    document.getElementById("message").setAttribute('maxlength', (456)); 
    for (var i = 0; i < document.fr_upload.message.value.length; i++) { 
     if (!checkLatin(document.fr_upload.message.value)) { 
      alert("Your entry does not contain latin type.\n Please try again.") 
      document.fr_upload.message.value = ''; 
      document.fr_upload.char_left.value = 0; 
      return false; 

     } 
    } 
} 

function checkLatin(arg) { 
    var latin = /^[\u0020-\u007E]*$/; 
    if (arg.match(latin)) { 
     return true; 
    } else { 
     return false; 
    } 
} 

Таким образом, как я могу удалить только неприемлемые характер?

+2

Вы должны определить, что вы имеете в виду под "неприемлемые" – alfasin

+0

вы можете поделиться 'checkLatin' –

+0

@alfasin: я сделал проверку, если (! checkLatin (document.fr_upload.message.value), так что любой нелатинский тип будет остановлен сообщением и так далее ... –

ответ

1

Попробуйте

function checkInput() { 
    document.getElementById("message").setAttribute('maxlength', (456)); 

    var value = document.fr_upload.message.value; 
    if (value && !/[^\u0020-\u007E]/.test(value)) { 
     alert("Your entry contains non latin characters.\n Please try again."); 
     document.fr_upload.message.value = value.replace(
       /[^\u0020-\u007E]/g, ''); 
     document.fr_upload.char_left.value = document.fr_upload.message.value.length; 
    } 
} 
+0

В соответствии с кодом OP/[^ \ u0020- \ u007E]/соответствует латинским символам, поэтому вы должны инвертировать регулярное выражение в код замены, чтобы он соответствовал нелатинским символам. –

0

Чтобы заменить не-латинские символы, которые Вы можете использовать:

function removeNonLatin(arg) { 
    var nonlatin = /!(^[\u0020-\u007E]*$)/g; 
    arg = arg.replace(nonlatin , ''); 
    return arg; 
} 
Смежные вопросы