2015-05-08 2 views
3

У меня есть окно поиска, и пользователь может поместить в него текст поиска. Пример: книга, «книга», «книга». И в js-файле переменная получает значение из окна поиска.Как управлять «" и '' при объявлении переменной в файле javascript

var searchtext= "${searchtext}"; <br/> 

Этот код не удалось, если пользователь пут "книга" для поиска box.Because на этот раз,

var searchtext= ""book"". 

Если изменить

var searchtext= "${searchtext}"; to var searchtext= '${searchtext}'; 

Этот код не удалось, если пользователь поставил " book 'для поиска. Пожалуйста, помогите мне, спасибо!

+2

Какой бэкэнд-язык это? – dfsq

+2

Вы должны убедиться, что специальные символы, подобные этим, экранированы. – Dragondraikk

+0

Если вы выполняете 'var searchtext = $ {searchtext}; 'без кавычек, тоже не получается? как говорит @dfsq, который является бэкэнд-языком? – AlvaroAV

ответ

2

Вы можете как заменить " или ' одинарная кавычка '. Вот пример:

var str= '"book"'; 
str.replace(/["|']+/g, "'"); 

Демо: jsFiddle

+0

, что произойдет, если пользователь вводит« книгу ». На этот раз str = '' book '' –

+0

И он будет заменен на «книгу» –

+0

Теперь, var str = '' book '', будет объявлено сообщение: Uncaught SyntaxError: Неожиданный идентификатор браузером –

-1

Быстрый загрязнен затруднительное

str.replace(/["|']+/g, "'"); 
var searchtext= "${searchtext}"; 
+0

, который заменит первое появление ~ ~ "~ – user1514042

0

Было бы проще для вас, если вы не позволяют пользователю вставить специальные символы в поле поиска.

$('searchBoxElement').bind('keypress', function (event) { 
    var regex = new RegExp("^[a-zA-Z0-9]+$"); 
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
    if (!regex.test(key)) { 
     event.preventDefault(); 
     return false; 
    } 
}); 
+0

Пользователь может вводить специальные символы. –

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