【问题标题】:Accept only greek letters in autosave input在自动保存输入中仅接受希腊字母
【发布时间】:2017-07-13 06:02:32
【问题描述】:

我希望我的文本框只接受希腊字母。我使用此代码但不起作用。

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()

【问题讨论】:

  • 所以你的代码可以工作??
  • 很遗憾没有
  • 您能给我们一些无效的输入和一些有效的输入吗?以及预期的结果。
  • 我随机按英文字母接受。

标签: javascript regex


【解决方案1】:

您必须使用string.match(regexp) 进行正则表达式匹配。另外,我认为正则表达式应该是/^[A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+$/

【讨论】:

    【解决方案2】:

    已向few times 提出此问题。

    我不是希腊字母表专家,但这样的事情似乎可行:

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

    所以,在你的情况下:

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

    【讨论】:

    • 我认为“”是必需的
    • 我不明白。您还需要检查字符串中的引号吗?
    【解决方案3】:

    您的代码不使用正则表达式。 !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 ίϊΐόάέύϋΰήώ}

    【讨论】:

      【解决方案4】:

      我相信问题就在这里

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

      也许我需要使用其他东西。我想这适用于提交输入。就我而言,我有一个纯文本,当我单击 Enter 时,会出现一个提醒我输入不正确的警报。接受任何有用的建议

      【讨论】:

        【解决方案5】:

        试试这个。

        <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>
        

        如果文本包含正则表达式以外的字母,则会发出警报。

        【讨论】:

        • 请注意:Op 没有要求文本中的字符 A-Z a-z。
        • 还是不行。正如我在 HTML 中提到的,我将函数放在 onkeypress
        • 我的bad匆匆写下答案。那是因为声明 document.logOn .Try It Now。
        • 感谢您的帮助,但不起作用。 .在我的情况下,我有一个纯文本,当我单击 Enter 时会出现一个提醒我输入不正确的警报
        • 纯文本是什么意思,请改进你的问题
        【解决方案6】:

        目前存在的主要问题是出现了警报但接受了不正确的条目。 我想我的 jacascript 是正确的,并且问题出现在我的 HTML 代码中。我用 onclick='return validate()'

        【讨论】:

          猜你喜欢
          • 2014-06-20
          • 2016-11-05
          • 2013-02-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-11
          • 1970-01-01
          相关资源
          最近更新 更多