функция javascript, которая гарантирует, что текст содержит только символы доллара, отформатированные как $ placeholder $ - PullRequest
0 голосов
/ 04 февраля 2009

Мне нужна функция javascript, которая получает строку и возвращает false, если строка содержит
- Любой незамкнутый символ доллара
- Или закрытый символ доллара с чем-то между долларами, отличным от серии символов

function validateFormat(text) {
// Do stuff
}

Например, если текст:

validateFormat("blab abalaba $something$ avava $affo$")  -> true
validateFormat("blab abalaba $something$ avava $ affo$") -> false because of the white space
validateFormat("blab abalaba $1so3mething$ avava $affo$") -> false because of the numbers
validateFormat("blab abalaba $something") -> false because of unclosed placeholder

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

3 голосов
/ 04 февраля 2009

Другой способ:

text.match(/\$/g).length/2 == text.match(/\$[a-z]+\$/g).length

Подсчитывает число $ и сравнивает его с числом $foobar$.

3 голосов
/ 04 февраля 2009
// delete all valid placeholders
text = text.replace(/\$[a-z]+\$/gi, "");

// are there any "$" left?
if (text.search(/\$/) != -1) {
    return false;
}
return true;

Это еще одно решение:

matches = text.match(/\$[a-z]+\$|\$/gi);
if (matches) {
    for (var i = 0; i < matches.length; i++) {
        if (matches[i] == '$') { return false };
    }
}
return true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...