仅接受AngularJS中的字母数字和1个点

Accepting alphanumeric and 1 dot only in AngularJS

本文关键字:数字 1个点 AngularJS      更新时间:2023-09-26

我正在使用CodeIgniter(后端)和AngularJS(前端)创建一个应用程序。如何验证AngularJs中只允许a-z-a-z、数字和1个点(只要不在字符串末尾)字符的用户输入?

/[^A-Za-z0-9'.]/就够了吗?

顺便说一句,我的代码结构受到AngularJS文档中这个简单示例的启发。https://docs.angularjs.org/api/ng/input/input%5Btext%5D

UPDATE:
1 dot must not be the first/last character of the string and it must be optional.

根据我的理解:您希望检查字符串是否仅由字母数字字符和最多一个点组成,而不是位于字符串的末尾或开头。

你可以使用(见这里的演示):

^[a-zA-Z0-9]+(?:'.[a-zA-Z0-9]+)?$

解释

  • [a-zA-Z0-9]+:匹配所有前导字母数字字符(至少一个)
  • (?:'.[a-zA-Z0-9]+)?:可选的非捕获组-我们匹配一个唯一的点,后跟至少一个字母数字
  • ^$:锚定字符串的开始和结束,确保字符串仅由我们想要的组成