如何阻止用户名中包含html
How to stop a username from having html in it
我正在制作一个有注册表格的网站。在注册表格中,我注意到用户可以用html输入,比如:
<div style = 'color:red;font-size:30px;'>Bob</div>
我知道我可以使用htmlspecialchars()
,但当html插入数据库时,它会将其保留在字符串中。所以我的问题是:
我可以检测字符串中是否有html,然后如果有,请他们输入新的用户名吗?
我希望在PHPor JavaScript中实现这一点。
使用strip_tags()
这将删除所有html标签
所以如果一个CCD_ 3比用CCD_。如果您还添加trim()
,它也将删除剩余的空间。
- http://php.net/manual/en/function.strip-tags.php
- http://nl3.php.net/manual/en/function.trim.php
更新
正如Joe Frambach所指出的,如果你想知道用户名是否包含html,请使用:
if (strip_tags($name) !== $name) {
echo 'this contains html';
} else {
echo 'this does not contain html';
}
因此,如果剥离的值不等于它包含的html的输入值。
验证字段是否为字母数字:
if(preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $input)){
//Valid
}
else{
//invalid
}
相关文章:
- jQuery包含html-将类添加到头中
- 存储包含html标记的文本
- 是否可以在JavaScript中包含HTML代码
- 创建一个可以包含html标记的文本字段
- 当字符串包含 HTML 标记时,JSON 解析失败
- 包含HTML的变量上的jQuery选择器
- 如何从包含HTML代码和许多UL标签及其ID的JavaScript变量A中获取
- ID
- 将句子大小写应用于可能包含HTML的字符串
- php包含包含html标记和js脚本的文件
- 获取包含HTML标记的选定文本
- 如何将ngOptions与包含HTML实体的字符串一起使用
- AngularJS在指令中包含HTML属性
- 从只包含HTML、CSS&JavaScript
- 如何通过单击按钮包含 html 文件
- 使用 javascript/jquery 遍历包含 HTML 的字符串中的所有标记
- 通过 JavaScript 包含 HTML 文件
- Javascript不是't在包含html模板时执行
- 如何使用角度翻译处理包含 HTML 的字符串
- 在包含 html 的变量中选择一个元素
- PHP 变量包含 HTML 和 JavaScript.通过JavaScript将其注入HTML不起作用