Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
Regex 带有用于验证的正则表达式或HTML5验证程序的函数_Regex_Html_Validation - Fatal编程技术网

Regex 带有用于验证的正则表达式或HTML5验证程序的函数

Regex 带有用于验证的正则表达式或HTML5验证程序的函数,regex,html,validation,Regex,Html,Validation,我刚刚发现了HTML5验证器功能,我觉得它真的很容易使用(而且非常美观,尤其是红色警告边框和显示所需输入格式的语音气泡) 但是,我不知道使用带有正则表达式的函数手动检查每个用户输入是否更好,例如: function check_title($title){ if(!preg_match("/^[0-9a-zA-Z]+$/", $title)) return FALSE; else return TRUE; } <input type

我刚刚发现了HTML5验证器功能,我觉得它真的很容易使用(而且非常美观,尤其是红色警告边框和显示所需输入格式的语音气泡)

但是,我不知道使用带有正则表达式的函数手动检查每个用户输入是否更好,例如:

    function check_title($title){
    if(!preg_match("/^[0-9a-zA-Z]+$/", $title))
        return FALSE;
    else
        return TRUE;
}
<input type="text" name="username" placeholder="username" maxlength="16" pattern="[0-9a-zA-Z]{5,}" title="Username must be 5-16 length" required/>
或者使用HTML5验证程序,例如:

    function check_title($title){
    if(!preg_match("/^[0-9a-zA-Z]+$/", $title))
        return FALSE;
    else
        return TRUE;
}
<input type="text" name="username" placeholder="username" maxlength="16" pattern="[0-9a-zA-Z]{5,}" title="Username must be 5-16 length" required/>

我可以知道哪一个更安全吗?因为我正在努力创建一个安全的网站


谢谢你,祝你今天愉快

最安全的方法是在服务器端验证发布的值。永远不要推客户

HTML5虽然是最新的摇滚技术,但它仍然是一项正在进行的工作旧版本的浏览器不支持它(您可以找到一些解决方法来支持它)

如果您只支持最新的浏览器,那么
HTML5
将非常适合使用。作为客户端,你无法发现它的安全性,所以想想你是如何展示/支持网站的

或者选择
Regex
,因为大多数人仍在使用旧版本

希望你知道这一点

是一种JavaScript变通方法,由Sjoerd Visscher发现,用于在Internet版本中启用HTML5元素的样式 版本9之前的资源管理器,不允许添加未知元素 没有JavaScript的样式

刚找到这个

HTML5的约束验证API使添加客户端验证成为可能 在提供JavaScript API和CSS挂钩的同时快速创建表单 定制

虽然实现和旧版本仍然存在一些问题 要处理的浏览器,具有良好的polyfill或服务器端回退功能 您现在可以在表单中使用这些API。


安全在这里并不重要。它会支持所有浏览器吗?我认为有些浏览器不支持它,尤其是早期版本的浏览器没有客户端验证是安全的。使用客户端验证来改善用户体验,但是所有的验证最终都应该在服务器端完成。嘿,谢谢你的回复。那么这是否意味着我应该首先使用HTML5验证程序,然后使用验证函数再次检查它?那么这是否意味着我应该使用验证函数检查用户输入,而不是HTML5验证程序?这意味着你应该检查输入服务器端。客户端也可以这样做,但服务器端也应该这样做。嘿,谢谢你的回复!如果我同时包含HTMl5和Regex,可以吗?我感谢您对
HTMl5
的热情。虽然它会起作用,但我的建议是使用HTML5,并使用一个变通解决方案来支持HTML5检查这个哇,嘿,谢谢你提供的链接!我真的很感激。我会试试看:)@bob我很高兴我能帮上忙:)