HTML5 中的required属性非常方便:
<input type="text" required>
但它仍然只允许用户输入空白。有没有纯 HTML 的解决方案?
使用与pattern
属性结合的required
属性。并且一定要包含一个title
属性,因为大多数浏览器都会将标题文本插入到验证弹出气泡中。
<input required pattern=".*\S+.*" title="This field is required">
该.*\S+.*
模式需要至少一个非空白字符,但也允许在开头或结尾使用空白字符(空格、制表符、回车符等)。如果您不希望用户能够在开头/结尾放置空格,请改用:
<input required pattern="\S(.*\S)?" title="This field is required">
试试pattern
属性。您需要一个指定“至少一个字符”的正则表达式。
你可能想要这个:
<input type="text" required pattern="\S(.*\S)?">
(输入的开头或结尾至少有一个非空白字符且没有空白)
或者如果开头和结尾的空格很好,那么:
<input type="text" required pattern=".*\S.*">
创建一个Javascript函数:
function ignoreSpaces(event) {
var character = event ? event.which : window.event.keyCode;
if (character == 32) return false;
}
在 HTML 中的任何文本输入字段上使用它。
<input type="text" id="userInput" onkeypress="return ignoreSpaces(event)">
索引.html
<html>
<body>
<input type="text" onkeypress="return ignoreSpaces(event)">
<script>
function ignoreSpaces(event) {
var character = event ? event.which : window.event.keyCode;
if (character == 32) return false;
}
</script>
</body>
</html>