html - Html5 输入模式检查
问题描述
我不擅长 html 模式验证。
我有这个问题,我的输入文本仅有效:最少 3 个最多 30 个字符,字符串开头和结尾的空格是不允许的,允许一个单词和另一个单词之间有空格,允许 A-Za- z,单词的第一个字符必须是大写,其他单词必须是小写。谢谢。
--更新--输入#名称
有效示例:
- '马里奥乔瓦尼'
- '玛丽亚'
- '雅各布卡罗尔皮奥'
- '雅各布·K'
无效示例:
- '马里奥乔瓦尼'
- '马里奥乔瓦尼'
- '马里奥乔瓦尼'
- '马里奥乔瓦尼'
- “玛丽亚”
- '玛丽亚'
- 《安东尼奥·马里奥》
解决方案
您将需要使用正则表达式模式来检查输入是否有效,以及使用maxlength
andminlength
属性来确保输入在 3 到 30 个字符之间。
关于 RegEx 模式,我们必须:
- 从输入的开头开始:
^
- 验证第一个字符是否在 A 和 Z 之间:
[A-Z]
- 验证最后一个字符之前的以下字符是否为小写字母或空格:
[a-z ]*
,其中*
表示可能有多个字符与该部分模式匹配;如果您只想在单词之间留一个空格,请使用([a-z]* ?)
- 验证最后一个字符是否为小写字母:
[a-z]$
,其中$
表示输入结束
下面是我将使用的代码。
<input type="text" minlength=3 maxlength=30 pattern="^[A-Z][a-z ]*[a-z]$">
推荐阅读
- java - Firestore whereEqualto()在Android应用程序中查询的不正确行为
- jenkins - 如何获得詹金斯多分支管道最后一次构建版本?
- python - Python Ray 或多处理
- laravel - 我在我的 Laravel 学习项目中遇到错误,我在 Laravel 身份验证中遇到 npm run dev 问题我该如何解决这个问题?
- prebid.js - 仅从 Prebid Server 数据库中提取投标人详细信息以进行标头投标
- excel - 我正在尝试根据从另一个单元格中选择的内容在一个单元格中查找多个值并在下一张表中输出
- reactjs - 地理位置在 Chrome 的伊朗国家/地区无法在谷歌浏览器上运行
- tensorflow - 如何将检查点转换为 save_model_pb?在张量流 2.x 中
- git - 使用 Azure DevOps 管道自动合并 master 以开发分支
- python-3.x - plotly-express 图形颜色图例应仅显示整数值