#javascript #regex
#javascript #регулярное выражение
Вопрос:
Как мне проверить отсутствие пробелов в строке, используя регулярное выражение? Я использую jQuery
var postcode = $(this), val = postcode.val();
if(val.test(NO WHITESPACE)){
...
}
Любая помощь приветствуется, спасибо
Комментарии:
1. Если бы вы просто искали символы пробела, это сэкономило бы некоторое время и путаницу, если бы вы были более конкретны в вопросе.
Ответ №1:
if (/s/.test(string)) alert("OH NO THERE IS FILTHY WHITESPACE IN THAT STRING");
» s» … ухх, штука, в регулярном выражении означает «любой символ пробела». В частности, это означает то же самое, что и это:
[ fnrtvu00A0u2028u2029]
то есть пробел, перевод формы, перевод строки, возврат каретки, табуляция, вертикальная табуляция и некоторые символы, похожие на пробелы, из расширенной латиницы и Юникода.
Ответ №2:
Если это только пробелы, вам не нужно RegExp
: без пробелов = val.indexOf(' ') < 0
Комментарии:
1. Как насчет других форм пробелов, таких как символы табуляции, новые строки, …?
2. В этом случае лучшим инструментом является регулярное выражение : в строке нет пробелов =>
val.match(/s/g) === null
Ответ №3:
Просто используйте:
if(!val.match(/s/)) {
...
}
Ответ №4:
Используйте следующий код, который заменит все пробелы..
string.replace(/^s |s $/g,'')
Фактически это удалило бы даже символы новой строки
Пробелы фактически удаляются с помощью s
Комментарии:
1. Это не приведет к удалению
all
пробелов, а только тех, которые находятся в начале и в конце строки. И более того, это не отвечает на вопрос.
Ответ №5:
var valid = !/s/.test('IHaveNoWhiteSpace')
valid ; //# => true
var valid = !/s/.test('I Have WhiteSpace')
valid ; //# => false
var isValidPostCode = /^[a-z]{2}d{3}[a-z]{2}$/i.test('TN809EX');
isValidPostCode ; //# => false