2015-10-20 13 views
1

我一直在努力嘗試如何確定如何在驗證頁面上防止連續出現兩個句點。正則表達式 - 驗證時如何防止連續出現兩個句點

我想獲得的是: ..thisisinvalid =無效 .this.is.valid =有效

周圍搜索後,我來到了這個 (?!.*[.]{2})[A-Z][A-Za-z]* 然而,這也不起作用。

編輯: 我是新來的這個計算器+,對不起提前 我工作的一個網頁,目前我們使用的一種形式,所以CSS看起來像目前這樣:

IDName:無效{背景色:紅色;}

IDName:有效{背景色:綠色;}

我們使用模式 目前我們的模式行是: 「/ ^(* {?!。 2})[A-Za-z0-9 _。+ - ']「

理想的情況下,我們試圖設定,讓它適用於電子郵件格式和大家一起@之前,我們一直在努力,以防止在連續多個週期,因爲它們不是由我們的接口上接受

回答

0

嘗試使用RegExp.prototype.test()RegExp/\.\./,測試輸入字符串連續兩個字符,返回true如果模式匹配,false如果模式不匹配

/\.\./.test("..thisisinvalid") 
0

這是你在找什麼?

var isValid = function(str) { 
    return !str.match(/\.\./); 
} 

var isValid = function(str) { 
    return !/\.\./.test(str); 
} 

在這裏,你已經工作示例:

(function() { 
 
    var isValid = function(str) { 
 
    return !str.match(/\.\./); 
 
    } 
 
    
 
    document.getElementById('button').onclick = function(e) { 
 
    var text = document.getElementById('text').value; 
 
    var result = isValid(text) ? 'Valid' : 'Invalid'; 
 
    document.getElementById('result').innerHTML = result; 
 
    } 
 
    
 
})();
<input type='text' id='text' /> <span id='result'></span> 
 

 
<br> 
 
<br> 
 
<button id='button'>Check</button>

0

對於這種使用情況下正則表達式是矯枉過正,你可以只使用String.indexOf例如

脫身
"mystring".indexOf(".."); // == -1 
"my..string".indexOf(".."); // == 2 

那麼就比較>= 0

0

考慮通過線路令牌:

/^((\.(?!\.))?[a-z]*)+$/img 

測試可以在這裏完成:http://refiddle.com/2jq2

+0

請問/ +/IMG的事情,我們嘗試的這種變化但是,我們的頁面完全打破了 – Naladari

+0

是的,很重要。該表達式適用於一行一行的標記。如果你們需要用廣泛的文本匹配令牌,請給我一個示例,以瞭解令牌的開始和結束位置。 –

+0

<標籤類= 「form_left」>組織名稱:<跨度類= 「需要」> * \t \t <輸入 \t \t \t類型= 「文本」 \t \t \t ID = 「單位名稱」 \t \t \t類= 「form_input」 \t \t \t NAME = 「單位名稱」 \t \t \t標題= 「請輸入組織名稱」 \t \t \t pattern =「[A-Z] [A-Za-z] *」 \t \t \t placeholder =「例如。百思買」 \t \t \t大小= 「32」 \t \t \t最大長度= 「32」 \t \t \t的tabindex = 「0」 \t \t \t值= 「」 \t \t \t需要 \t \t /> 有是我們組織單位頁面的一些示例代碼。 – Naladari