Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入字段中检测错误消息_Javascript_Html_Validation_Input_Error Messaging - Fatal编程技术网

Javascript 在输入字段中检测错误消息

Javascript 在输入字段中检测错误消息,javascript,html,validation,input,error-messaging,Javascript,Html,Validation,Input,Error Messaging,如果用户键入受限符号,如何显示消息 例如,如果用户在输入字段中键入*,则错误消息会显示文件名不能包含以下任何字符:\/:*?“|。我希望有人能指导我如何操作。谢谢 如何显示错误消息 document.getElementById(“函数\代码”).onkeypress=函数(e){ var chr=String.fromCharCode(e.which); 如果(“>=0) 返回false; }; 使用HTML5模式匹配,下面我使用了模式([a-zA-Z0-9]+),它只表示字符拉丁字母和数

如果用户键入受限符号,如何显示消息

例如,如果用户在输入字段中键入
*
,则错误消息会显示
文件名不能包含以下任何字符:\/:*?“|
。我希望有人能指导我如何操作。谢谢


如何显示错误消息
document.getElementById(“函数\代码”).onkeypress=函数(e){
var chr=String.fromCharCode(e.which);
如果(“>=0)
返回false;
};

使用HTML5模式匹配,下面我使用了模式([a-zA-Z0-9]+),它只表示字符拉丁字母和数字0-9。可以将空格字符包含在 ([a-zA-Z0-9]+\s{1}[a-zA-Z0-9]+)

您可以了解有关regex的更多信息

这不会阻止作者输入错误的按键,它只会验证输入。我将包括另一种显示自定义错误的方法


提交

首先,我将把输入包装成一个表单。 之后,如果条件为真,您可以使用输入字段的
setCustomValidity
功能设置自定义消息。当您按enter键或提交表单时,您将看到错误消息。 这样,您可以为您的输入提供任何自定义消息。 注意else块以处理无错误情况

参考:


如何显示错误消息
提交
document.getElementById(“函数\代码”).onkeypress=函数(e){
var chr=String.fromCharCode(e.which);
如果(“>=0){
this.setCustomValidity('文件名不能包含以下任何字符:\/:*?“|”);
}否则{
本协议有效期(“”);
}
};

输入
事件与正则表达式一起使用,如下所示:

const input=document.getElementById(“函数代码”);
const error=document.getElementById('error');
常量正则表达式=/[\\\/:*?“|]+/;
input.addEventListener('input',(e)=>{
常量值=e.target.value;
if(正则表达式测试(值)){
input.value=value.slice(0,value.length-1);
error.textContent='文件名不能包含以下任何字符:\/:*?“|”;
}否则{
error.textContent='';
}
});
输入{
填充:8px 10px;
边界半径:5px;
字号:1.2rem;
}
#错误{
显示:块;
颜色:红色;
保证金:5px0;
}


谢谢您的回答。如何仅阻止这些符号>,因为不是所有要限制的符号都添加了javascript方法,您必须自己设置div的样式。或者你必须定制正则表达式。对于你的问题,模式是[^>你的答案几乎正确。你的代码输入不能让我输入其他字符。你能试着检查错误吗?如果正确,我给你标记谢谢你的答案。但我只希望这些符号\/:*?“|成为限制。你的代码都是限制符号对吗?谢谢你是对的。如果键入任何\/:*?,你怎么可以?”|,则不会显示在输入字段中,只显示消息Can you updated input.style.display='none'您的答案?因为当用户在输入字段中键入*时,*direct会弹出错误消息。但是*没有显示在输入字段中是的。几乎正确。仅显示这些符号/:*?“|不希望在输入字段中显示。