JavaScript заменить символы - PullRequest
6 голосов
/ 17 августа 2011

Я хочу заменить все вхождения символов "-", ":" и пробелы в строке, которая появляется в этом формате:

"YYYY-MM-DD HH:MM:SS"

что-то вроде:

var date = this.value.replace(/:-/g, "");

Ответы [ 4 ]

7 голосов
/ 17 августа 2011

Вы были близки: "YYYY-MM-DD HH:MM:SS".replace(/:|-/g, "")

2 голосов
/ 17 августа 2011

/:-/g означает ":" followed by "-". Если вы введете символы в [], это будет означать ":" or "-".

var date = this.value.replace(/[:-]/g, "");

Если вы хотите удалить пробелы, добавьте \s к регулярному выражению.

var date = this.value.replace(/[\s:-]/g, "");
1 голос
/ 17 августа 2011

Вы можете использовать либо класс символов, либо | (или):

var date = "YYYY-MM-DD HH:MM:SS".replace(/[:-\s]/g, '');

var date = "YYYY-MM-DD HH:MM:SS".replace(/:|-|\s/g, '');
1 голос
/ 17 августа 2011

Требуемое регулярное выражение: , вероятно, :

/[\s:-]/g

Пример использования:

"YYY-MM-DD HH:MM:SS".replace(/[\s:-]/g, '');

[] блоков соответствуют любому из содержащихся символов.

В него я добавил шаблон \s, который соответствует пробелам, таким как пробел и табуляция \t (не уверен, хотите ли вы вкладки и новые строки, поэтому я пошел с вкладками и пропускал новые строки).

Кажется, вы уже догадались, что хотите получить g lobal match, позволяющее регулярному выражению продолжать заменять найденные совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...