Regex 用于捕获该字符串的正则表达式包含字母数字、下划线和空格,但以字母开头

Regex 用于捕获该字符串的正则表达式包含字母数字、下划线和空格,但以字母开头,regex,Regex,我试图创建一个正则表达式字母数字、下划线和空格,但只允许以字母开头。 我有这个输入,检查键入的字符是否与允许的字符匹配,这很好 正如Wiktor Stribizew在他的评论中提到的,您的代码只验证当前按下的键值。但提交时验证的替代方法是使用onkeyup处理程序,该处理程序有其优缺点,恰好相同,即当发生此事件时,输入字段可能已被新内容修改。缺点是,如果输入了非法字符,在删除之前,它会立即显示在字段中。另外,不需要进行击键分析 功能设置字段(字段,re) { field.autocomple

我试图创建一个正则表达式字母数字、下划线和空格,但只允许以字母开头。 我有这个输入,检查键入的字符是否与允许的字符匹配,这很好


正如Wiktor Stribizew在他的评论中提到的,您的代码只验证当前按下的键值。但提交时验证的替代方法是使用
onkeyup
处理程序,该处理程序有其优缺点,恰好相同,即当发生此事件时,输入字段可能已被新内容修改。缺点是,如果输入了非法字符,在删除之前,它会立即显示在字段中。另外,不需要进行击键分析

功能设置字段(字段,re)
{
field.autocomplete=“关闭”;
field.saveValue=field.value;
field.onkeyup=函数(){
var v=字段值;
如果(v==''| |重新测试(v)){
field.saveValue=v;
}
否则{
field.value=field.saveValue;
}
};
}
让topic=document.getElementById('topic');
设置字段(主题,/^[a-z][a-z0-9.]*$/i)

正如Wiktor Stribizew在他的评论中提到的,您的代码只验证当前按下的键值。但提交时验证的替代方法是使用
onkeyup
处理程序,该处理程序有其优缺点,恰好相同,即当发生此事件时,输入字段可能已被新内容修改。缺点是,如果输入了非法字符,在删除之前,它会立即显示在字段中。另外,不需要进行击键分析

功能设置字段(字段,re)
{
field.autocomplete=“关闭”;
field.saveValue=field.value;
field.onkeyup=函数(){
var v=字段值;
如果(v==''| |重新测试(v)){
field.saveValue=v;
}
否则{
field.value=field.saveValue;
}
};
}
让topic=document.getElementById('topic');
设置字段(主题,/^[a-z][a-z0-9.]*$/i)

onkeypress
检查当前按下的键值,而不是整个输入值。您可能只需要使用
pattern=“[a-zA-Z][\w]*”
进行提交验证。谢谢,Wiktor。非常有帮助
onkeypress
检查当前按下的键值,而不是整个输入值。您可能只需要使用
pattern=“[a-zA-Z][\w]*”
进行提交验证。谢谢,Wiktor。非常有帮助!谢谢,波波。这就成功了。我不知道它实际上是在看当前的角色,而不是整个角色。谢谢,Booboo。这就成功了。我不知道它实际上是在看当前角色,而不是整个值