好吧,在我需要的文本框的keydown
事件中(使用regex
和replace
):
keydown
事件中,如果用户按下空格键,
它只需要是文本框中的一个空格。一些例子:
不通过 ' My name is'
(第一个字符是空格)
传递 'My name is '
(不重要的是空间)
不通过 'My name is 123'
(包含数字)
我试过这个只能使用一个空格:
replace(/\s+/g,' ');
并且有效,但我不知道如何在同一个正则表达式中使用其他内容。
答案 0 :(得分:1)
这个正则表达式会这样做
/^[A-Za-z]{1}[A-Za-z\s]+$/
击穿
^
- 行首
[A-Za-z]
- 任何字母
{1}
- 正好一个字母
[A-Za-z\s]
- 字母或空格字符
+
- 一个或多个
$
- 行尾
答案 1 :(得分:0)
最后,我明白了:
<强> HTML 强>
<input type="text" id="target">
<强>的js 强>
$( "#target" ).keyup(function() {
var str = $(this).val();
var res = str.replace(/\d+|^\s+$/g, '').replace(/\s+/g, ' ');
$(this).val(res);
});
也许我的问题不太清楚,但您可以在此fiddle
中看到最终结果修改强>
要不允许使用特殊字符,需要声明它们:
str.replace(/[\"\'~`!@#$%^&()_={}[\]:;,.<>+\/?-]+|\d+|^\s+$/g, '').replace(/\s+/ig, ' ')