我正在编写一些代码,以便在使用AJAX验证表单时向用户提供实时反馈。我已经检查了它的长度以及该字段是否为空。现在我想要它清理用户输入,如果sanatized输入与用户原始输入不同,那么告诉他们哪些字符是不允许的。
到目前为止,我编写的代码除了一些字符外,其中一些特别是“£”符号没有响应。我认为它与json_encode及其编码有关。
以下是代码:
$user_input = 'asdfsfs£';
$strip_array = str_split(strip($user_input));
$orig_array = str_split($user_input);
$diff_array = array_diff($orig_array,$strip_array);
$diff_str = implode(', ',$diff_array);
$final = json_encode($diff_str);
function strip($input){return htmlentities(strip_tags($input),ENT_QUOTES);}
希望有人能找到解决方案。
答案 0 :(得分:0)
如果要通过AJAX完成,那么你需要编写一个javascript函数来完成这个。
让服务器返回格式为
的JSON对象{
original: 'asdfsfs£',
edited: 'asdfsfs',
illegalChars: ['£']
}
在你的html中,你应该在表单输入字段旁边有空元素,你可以输出表单验证消息
<input type="text" id="myTextField" />
<span id="myTextFieldLabel" />
现在让你的javascript根据验证数据更新myTextFieldLabel组件的内容
肖恩