У меня есть строка, и я хочу проверить эту строку, чтобы она не содержала определенных символов, таких как '/' '\' '&' ';' и т. д. Как я могу это сделать сразу?Проверка строки Javascript
ответ
Вы можете решить это с помощью регулярных выражений!
mystring = "hello"
yourstring = "bad & string"
validRegEx = /^[^\\\/&]*$/
alert(mystring.match(validRegEx))
alert(yourstring.match(validRegEx))
Соответствие с регулярным выражением возвращает строку, если она в порядке, или null, если ее недействительно!
Объяснение:
- JavaScript RegEx литералы разграничены, как струны, но с косой черты (
/
iS) вместо кавычек ("
'ы). - Первый и последний символы
validRegEx
заставляют его соответствовать всей строке, а не просто части, карат привязывает ее к началу и знак доллара до конца. - Часть между скобками (
[
и]
) - это класс символов, который соответствует любому символу, пока он находится в классе. Первый символ внутри этого, карат, означает, что класс отрицается, чтобы соответствовать символам, не упомянутым в классе символов. Если он был опущен, класс будет соответствовать указанным им символам.- течение следующих двух последовательностей,
\\
и\/
являются экранированы обратной наклонной чертой, потому что обратная косая черта сама по себе была бы последовательность для чего-то другого, и слэш бы запутать синтаксический анализатор, думая, что он достиг конца регулярного выражения, (точно похоже на экранирование кавычек в строках). - Амперсанд (
&
) не имеет особого значения и не имеет никакого значения.
- течение следующих двух последовательностей,
- Оставшийся характер, то Клини звезда (
*
) означает, что независимо от предваряется она должна быть согласована ноль или более раз, так что класс персонажа будет есть столько символов, которые не вперед или назад слэши или амперсанды, в том числе нет, если он не может найти их. Если вы хотите убедиться, что строка со строкой не была пустой, вы можете заменить ее на плюс (+
).
Ummm ... кроме JavaScript regex не имеет функции 'match', а только' test'. –
@LawrenceDol: '.match()' используется в 'String', а не' RegExp'. Что происходит, когда вы это пробовали? – SingleNegationElimination
@ Синг: Хорошо, я пропустил эту тонкость. Здесь вы искали решение с точки зрения регулярного выражения. Благодарю. –
Я бы использовал регулярные выражения.
См. this guide с сайта Mozillla.org. Этот article также дает хорошее представление о регулярных выражениях в JavaScript.
Here - хорошая статья о проверке Javascript. Помните, что вам также нужно будет проверить на стороне сервера. Проверка Javascript легко обойти, поэтому его никогда не следует использовать по соображениям безопасности, таким как предотвращение атак SQL Injection или XSS.
Вы можете использовать регулярное выражение. Например, если ваша строка соответствует:
[\\/&;]+
то недействительно. Посмотрите: http://www.regular-expressions.info/javascriptexample.html
Возможно, вы можете использовать regular expression.
Вы можете использовать метод испытания, с регулярными выражениями:
function validString(input){
return !(/[\\/&;]/.test(input));
}
validString('test;') //false
Вы могли узнать регулярные выражения, или (вероятно, проще, если вы проверяете только для одного символа в то время), вы могли бы список символов, а затем некоторую функцию sanitize
, чтобы удалить каждый из строки.
var myString = "An /invalid &string;";
var charList = ['/', '\\', '&', ';']; // etc...
function sanitize(input, list) {
for (char in list) {
input = input.replace(char, '');
}
return input
}
Итак:
sanitize(myString, charList) // returns "An invalid string"
Как другие ответили вы можете решить эту проблему с регулярным выражением, но не забудьте также проверить значение на стороне сервера. Нет гарантии, что пользователь активировал JavaScript. Никогда не доверяйте пользовательскому вводу!
- 1. Проверка символа строки Javascript
- 2. Проверка строки Javascript
- 3. Проверка длины строки в javascript
- 4. Проверка формы JavaScript, длина строки
- 5. Проверка или проверка кодирует кронштейн строки в JavaScript
- 6. проверка строки json с использованием javascript
- 7. Проверка строки в Gridview в javascript
- 8. Проверка строки Javascript с помощью куки-файлов
- 9. Проверка пустой строки в текстовом поле javascript
- 10. Проверка строки ввода текстового значения в javascript
- 11. Проверка входной строки 11 цифр в JavaScript
- 12. Проверка содержимого строки с помощью Javascript
- 13. Проверка строки таблицы начальной загрузки - Javascript
- 14. Проверка на значение строки в JavaScript
- 15. Проверка строки
- 16. Проверка для строки
- 17. Проверка правильности заданной строки
- 18. Javascript шаблон проверка
- 19. Проверка аргумента строки
- 20. Проверка javascript
- 21. Проверка Javascript:
- 22. Проверка javascript
- 23. Проверка Javascript
- 24. Проверка Javascript
- 25. Проверка javascript
- 26. Проверка Javascript
- 27. Проверка JavaScript
- 28. Проверка Javascript и проверка PHP?
- 29. Проверка Javascript или проверка ASP?
- 30. Проверка пароля в javascript
Вместо проверки на черный список символов, которые не разрешены, вам может быть лучше проверить строку на белый список символов, которые разрешены, например. только для буквенно-цифровых символов. –