email - 为什么正则表达式不适用于输入类型“电子邮件”?
问题描述
我使用了输入类型为“电子邮件”的正则表达式模式,它应该支持 ASCII 和 Unicode 字符。
但是,当我尝试提交时,即使是 ASCII 电子邮件地址,它也会显示“请匹配请求的格式”。
代码如下:
<!DOCTYPE html>
<html>
<body>
<form>
<label for="email">Email:</label>
<input type="email" id="email" name="email" pattern="/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i">
<input type="submit">
</form>
</body>
</html>
为什么会这样。任何有关这方面的信息将不胜感激。
谢谢你。
解决方案
推荐阅读
- python - Python shift() 来自与 Excel 中相同的列
- c++ - 在 Linux 下使用 QSignalMapper 时出现“无此类信号错误”
- python - 长期不支持非资源变量
- java - eclipse上有代码折叠的快捷方式吗?
- solr - Solr 8.3 - 获取副本位置时出错:添加副本时没有节点可以满足规则
- python - 将包含表格的 html 文件列表解析为 Excel 工作表
- python - 如果大于 0 或小于 0,则对数据框列求和
- sqlite - SQLite 对 group by 的意外重复值
- javascript - 使用 mysql 和 node.js 的自定义前缀
- c++ - 套接字选项 SO_BSP_STATE 失败并显示 WSAEFAULT