【问题标题】:negation of regular expression for first character alphabet, from second character onwards any character第一个字符字母表的正则表达式的否定,从第二个字符开始任何字符
【发布时间】:2017-01-27 02:56:19
【问题描述】:

我想为应该允许的“名称”文本字段形成一个正则表达式

“第一个字符字母,从第二个字符开始的任何字符”

请帮助我为上述创建正则表达式的否定,以便如果用户尝试键入字母以外的第一个字符,则无法键入。

我正在尝试调用下面给出的代码但不起作用。

<!DOCTYPE html>
 <html>
   <head>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
     <script>
      $(document).ready(function(){
        $("#Name").keyup(function(){ $(this).val( $(this).val().replace(/[^a-zA-Z]*$/, "")); })
      });
      </script>
   </head>
   <body>
     Name:
     <input type="text" name="Name" id="Name"/>
    </body>
</html>

请找到plunker链接:

https://plnkr.co/edit/NTzyNpWqEUtgRgVAnHiy?p=preview

【问题讨论】:

  • "first character alphabet, from second character on wards any character" 什么?不应该是:"only characters" 吗?!一点都不清楚,您正在搜索 Name... 对您来说意味着什么 "Alphabet character""Any character"... ?不清楚你的意思。
  • 我想接受从第二个字符开始包含“数字、特殊字符、字母”的名称,第一个字符应该只接受字母。谢谢。
  • @Tushar 浏览器支持? IE10、9...
  • 遗憾地说,但 IE10 仍占有 11% 的市场份额,IE9:5.3%... IE8:3.2 ... 你数;)

标签: javascript jquery


【解决方案1】:

你忘记了'.'在*之前

我相信这就是您正在寻找的:

$("#Name").keyup(function(){ $(this).val($(this).val().replace(/^[^a-zA-Z].*$/, '')); })

已编辑 plunker:https://plnkr.co/edit/CIXCLzRTVIVXIcjnjWd7

【讨论】:

    猜你喜欢
    • 2012-03-16
    • 2013-11-18
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多