至少一个字母表的正则表达式,不应允许点 (.)
Regex for at least one alphabet and shouldn't allow dot(.)
我已经在下面编写了正则表达式,但我遇到了一个问题:
^[^\.]*[a-zA-Z]+$
根据上面的正则表达式,df45543
无效,但我想允许这样的字符串。只有一个字母字符是强制性的,不允许使用点。允许所有其他字符。
您需要使用前瞻来强制执行一个字母表:
^(?=.*?[a-zA-Z])[^.]+$
(?=.*?[a-zA-Z])
是一种积极的前瞻,确保输入中至少有一个字母表。
只需将数字添加为允许的字符:
^[^\.]*[a-zA-Z0-9]+$
见demo
如果您需要禁止点,并允许至少 1 个英文字母,则使用先行:
^(?!.*\.)(?=.*[a-zA-Z]).+$
(?!.*\.)
不允许字符串中有点,(?=.*[a-zA-Z])
要求至少一个英文字母。
另一种情况是仅在开头不允许使用点。然后,使用
^(?!\.)(?=.*[a-zA-Z]).+$
你可以使用这个:
^[^.a-z]*[a-z][^.]*$
(使用不区分大小写的方式,或者在字符类中添加A-Z
)
您可以将正则表达式的第一部分 ^[^.]*
添加到末尾,如下所示
^[^.]*[A-Za-z]+[^.]*$
试试这个Demo
我已经在下面编写了正则表达式,但我遇到了一个问题:
^[^\.]*[a-zA-Z]+$
根据上面的正则表达式,df45543
无效,但我想允许这样的字符串。只有一个字母字符是强制性的,不允许使用点。允许所有其他字符。
您需要使用前瞻来强制执行一个字母表:
^(?=.*?[a-zA-Z])[^.]+$
(?=.*?[a-zA-Z])
是一种积极的前瞻,确保输入中至少有一个字母表。
只需将数字添加为允许的字符:
^[^\.]*[a-zA-Z0-9]+$
见demo
如果您需要禁止点,并允许至少 1 个英文字母,则使用先行:
^(?!.*\.)(?=.*[a-zA-Z]).+$
(?!.*\.)
不允许字符串中有点,(?=.*[a-zA-Z])
要求至少一个英文字母。
另一种情况是仅在开头不允许使用点。然后,使用
^(?!\.)(?=.*[a-zA-Z]).+$
你可以使用这个:
^[^.a-z]*[a-z][^.]*$
(使用不区分大小写的方式,或者在字符类中添加A-Z
)
您可以将正则表达式的第一部分 ^[^.]*
添加到末尾,如下所示
^[^.]*[A-Za-z]+[^.]*$
试试这个Demo