2017-07-13 83 views
0

我希望我的文本框只接受希臘字母。我使用這段代碼但不起作用。只接受自動保存輸入中的希臘字母

JS:

<script language="javascript"> 
    document.logOn.onsubmit = validate; 
    function validate() { 
     var name = document.logOn.pw.value; 
     if(!name = " [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]") { 
      alert("Δεν επιτρεπονται λατινικη χαρακτηρες!"); 
      return false; 
     } 
     return true; 
    } 
<script> 

在HTML中我使用,onkeypress = validate()

+1

所以你的代碼工作? – Durga

+0

不幸的是否 – user8190974

+0

你能否給我們輸入一些不起作用的,有些可行的東西。和預期的結果。 –

回答

0

這個問題已經被問了fewtimes

我不是希臘字母的專家,但這樣的事情似乎工作:

(/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test('ιτρε'); // true 
(/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test('ιτρεkalimera'); // false 

所以,在你的病情:

if ((/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test(name)) { 
    // you are speaking Greek to me 
} 
+0

我認爲「」需要 – user8190974

+0

我不明白。你還需要檢查字符串中的引號嗎? –

0

你的代碼不使用正則表達式。 !name = " [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]"的意思是name從字面上必須是[A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]

將其轉換爲正則表達式if (!name.test(/ [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+/)).test返回真/假


你的正則表達式將匹配{space}{any letter fro A to Z or from A to z or form A to Ω or α to ω or any of ίϊΐόάέύϋΰήώ}

0

你將不得不使用string.match(regexp)的正則表達式匹配。另外,我相信正則表達式應該是/^[A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+$/

0

試試這個。

<script type='text/javascript'> 
function validate() 
{ 
    var name=document.getElementById('logOn').pw.value; 
    if(!(new RegExp("[Α-Ωα-ωίϊΐόάέύϋΰήώ]").test(name))) 
    { 
     alert("Δεν επιτρεπονται λατινικη χαρακτηρες!"); 
     return false; 
    } 


    return true; 

} 
    window.onload = function() { document.getElementById('logOn').onsubmit = validate; }; 

</script> 

如果文本中包含RegEx以外的其他字母,將會發出警報。

+0

請注意:Op並未要求文字中的字符A-Z a-z。 – user2984602

+0

仍然無法正常工作。正如我在HTML中所提到的,我把這個函數放在了onkeypress – user8190974

+0

我的不好之處寫得很快。 這是因爲聲明document.logOn。立即嘗試。 – user2984602

0

我認爲,問題是在這裏

document.logOn.onsubmit = validate; 
    var name = document.logOn.pw.value; 

也許我需要使用別的東西。我認爲這適用於提交輸入。在我的情況下,我有一個純文本,當我點擊輸入時出現一個提醒我提及我的無效輸入。任何有用的建議被接受

0

已經存在的主要問題是,警報出現,但接受不正確的條目。 我想我的jacascript是正確的,並且問題出現在我的HTML代碼中。我使用onclick ='return validate()'