正则表达式只允许在html输入框中输入字母和空格

时间:2018-12-27 11:39:20

标签: html regex

我想在输入框中仅允许输入字母和空格,例如“ john deo”。但以上内容不适用于正则表达式下方,并且不允许有空格。

<!DOCTYPE html">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
</head>

<body>
<label>full name
<input type="text" name="textfield" onkeydown="return /[a-z]/i.test(event.key)"
    onblur="if (this.value == '') {this.value = '';}"
    onfocus="if (this.value == '') {this.value = '';}"/>
</label>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

更改正则表达式,例如/[a-z, ]/i

<!DOCTYPE html">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
</head>

<body>
<label>full name
<input type="text" name="textfield" onkeydown="return /[a-z, ]/i.test(event.key)"
    onblur="if (this.value == '') {this.value = '';}"
    onfocus="if (this.value == '') {this.value = '';}"/>
</label>
</body>
</html>

答案 1 :(得分:0)

没有使用它,但是类似下面的方法可以解决您的问题-

onkeydown = "return((event.keyCode >= 65 && event.keyCode <= 120) || (event.keyCode==32));"

如果用于onkeydown事件,则应为:

return (event.keyCode>=65 && event.keyCode<=90 || event.keyCode==32);

捕获实际的键盘键。

答案 2 :(得分:0)

更改oninput="this.value = this.value.replace(/[^a-z, ]/, '')"

<!DOCTYPE html">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
</head>

<body>
<label>full name
<input type="text" name="textfield" oninput="this.value = this.value.replace(/[^a-z, ]/, '')" />
</label>
</body>
</html>