为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式只接受字符串第一位的字母

正则表达式只接受字符串第一位的字母

心有法竹 2023-05-25 16:46:45
我有一个只能接受字母、连字符、空格和撇号的文本字段。此外,它应该只接受连字符、空格和撇号,开头至少有 1 个字母。我试过这个:var testExp = new RegExp("[a-z' -]","gi");这允许在任何地方使用字母、连字符、空格和撇号。我需要帮助限制字符串开头的连字符、空格和撇号。例子:测试 abc 应该接受-abc 不应接受
查看完整描述

4 回答

?
达令说

TA贡献1821条经验 获得超6个赞

\A[A-Za-z][A-Za-z\'\s\-]+\Z

\A表示字符串的开始

[A-Za-z]表示以大写或小写字母开头的表达式。

[A-Za-z\'\s\-]+ 加号 (+) 表示 1 个或多个 \s 是空格 \- 是连字符,\' 是撇号。 \Z是字符串的结尾。

结合起来,它们应该可以帮助您解决问题。


查看完整回答
反对 回复 2023-05-25
?
桃花长相依

TA贡献1860条经验 获得超8个赞

类似的东西var testExp = new RegExp("^[a-z][a-z' -]*$","gi");应该工作。
^是表示字符串的开头,而$是表示字符串的结尾。
所以^[a-z]测试开头是否有字母字符,
[a-z' -]*$"测试字符串的其余部分是否由允许的字符组成。

查看完整回答
反对 回复 2023-05-25
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

尝试这个:

var testExp = new RegExp("^[a-z][a-z' -]*","gi");

^符号将强制从字符串的开头开始发生。

查看完整回答
反对 回复 2023-05-25
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

完整的解释和测试见:https://regex101.com/r/5xmC0j/1

^[a-zA-Z][a-zA-Z0-9-'\s]+$


查看完整回答
反对 回复 2023-05-25
  • 4 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信