regex - HTML5 中的模式正则表达式防止空白?

标签 regex html validation

我有两个不同领域的正则表达式。两者都会评估正确的值,但它们都不会阻止用户输入空格。例如,在性别字段中,用户可以简单地输入空格并提交表单。我想防止用户输入空白。这是我的正则表达式:

Gender pattern="*[MmFf]?*"  #This field should allow M or F letter lower or upper case. Nothing else should be allowed. This field is 1 character only.

Grade pattern=" *(0?[0-9]|1[0-2]|[A-Z]{1,2})? *" #This should allow 01 or 1 and something like this PK or pk. No white space.

我不确定如何防止 HTML5 模式中出现空白。如果有人知道如何解决这个问题,请告诉我。谢谢。

最佳答案

您的模式允许空格 ( *) 或空字符串。使模式至少匹配某些东西:

  • 性别:pattern="[MmFf]"
  • 等级:pattern="0?[0-9]|1[0-2]|[A-Za-z]{1,2}"

请注意,HTML5 模式不需要明确的 ^$ anchor (除非一些不寻常的框架覆盖了 HTML5 pattern 行为)。

因此,第一个模式将被转换为 ^(?:[MmFf])$ 模式并且只会匹配等于 M 的字符串,mFf

第二个会被翻译成^(?:0?[0-9]|1[0-2]|[A-Za-z]{1,2})$并将匹配一个字符串(需要完整的字符串匹配)

  • 0?[0-9] - 可选的 0 后跟一个数字
  • | - 或者
  • 1[0-2] - 101112
  • | - 或者
  • [A-Za-z]{1,2} - 1 或 2 个大写或小写 ASCII 字母

关于regex - HTML5 中的模式正则表达式防止空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45461841/

相关文章:

html - 在 anchor 标记内放置两个绝对 div

forms - Codeigniter 对空字段进行回调?

javascript - Jquery 验证所有错误仅显示在一个警报框中

javascript - html 中的验证不起作用

java - 只匹配给定集合中的一个字符出现一次

java - Java 模式解析

javascript - 动画背景替换

javascript - 我想通过使用鼠标拖动来创建图像 slider 而不使用额外的插件

python - 如何使用 python 中的正则表达式检查两个查询字符串(带通配符)是否存在

java - 如何检查给定的输入字段是否在java中为String