2013-03-15 2 views
2

У меня есть функция поиска. Я хочу проверить, вводит ли пользователь текстовое слово/предложение с точкой (.) На нем.Соответствие слова с символом точки с помощью regexp javascript

Example: 
-anyword.anyword. 
-. 
-.anyword 

Как только я обнаружил, что он/она ввел значение, которое имеет точку на нем, я буду считать это недействительным.

Я знаю, что могу сделать это с помощью regexp, но я все еще в процессе обучения. Так что любой мог бы сбросить меня, свет здесь был бы оценен :).

+4

'если (/\./.test(str)) {...}' – elclanrs

+1

@elclanrs, это ответ ... – gdoron

+0

Протестируйте регулярное выражение с http://www.gskinner.com/ RegExr/как его простой в использовании и полезный во время обучения. –

ответ

5

Вы можете использовать String#indexOf:

if (theString.indexOf(".") !== -1) { 
    // It has a dot 
} 

Но если вы действительно хотите использовать регулярные выражения (которые были бы слишком для просто найти .):

if (/\./.test(theString)) { 
    // It has a dot 
} 

/\./ часть является регулярным выражение. Начало и конец / являются разделителями регулярных выражений, например " и ' предназначены для строк. Содержимое регулярного выражения \. Нам нужна обратная косая черта перед ., потому что в противном случае в пределах регулярного выражения . означает «соответствовать любому символу». Обратная косая черта перед тем, как она «ускользает» от него, и сообщает регулярному выражению буквально совместить точку. (Нам не нужно, что в String#indexof примере, потому что indexOf не имеет каких-либо специальной обработки ..)

2

Лучше использовать indexOf функцию String затем Regexp для этого, как Regexp будет излишеством в этом scnerio:

Использование MyString.indexOf('.') если оно возвращено -1 в строке нет точки. Если возвращаемое значение равно целому числу, равному 0,1,2 и т. Д., Которое дает позицию Dot в строке. Так -1 сказать, что нет Dot

Пример:

if(MyString.indexOf('.') === -1) 
{ 
    //No Dot is there, continue search 
} 
else 
{ 
    //Invalid string, dot is present 
} 
1

попробовать это

Метод indexOf() возвращает позицию первого вхождения заданного значения в строке.

Этот метод возвращает -1, если значение для поиска никогда не происходит.

var str = "test.test"; 
if(str.indexOf('.') === -1){ 
    alert("no dot found."); 
} 
else{ 
    alert("dot found."); 
} 
Смежные вопросы