我有以下正则表达式:^[a-zA-Z](.*)[a-zA-Z]$
在 Javascript 和 PHP 端,我一直在使用它来验证联系人表单上的人名和消息字段(无数据库交互)。它基本上确保字段中的第一个和最后一个字符是字母,并允许介于两者之间的任何其他字符。
我的担忧是:
- 对于这种类型的功能,我是否应该为尝试验证一个人的姓名或消息而烦恼?我唯一要验证或更确切地说要防止的是任何恶意输入。
- 如果我唯一要做的就是检查这些字段是否为空,我不确定我可以让我的网站对哪种类型的攻击开放。
这些是有效的担忧吗?如果我开始满足所有类型的名称和消息场景,我将得到一个非常长的表达式,这将变得难以维护......那么它真的值得吗,或者是否有一个最低限度的正则表达式我应该使用这两个字段来防止恶意攻击/脚本?
(PS - 我的一位同事刚刚提醒我名字以“ ! ”开头)
谢谢你!!