这是我尝试过的脚本,可以发出警报,但是最后提交了表单,如果文本区域中存在不良单词,我想停止该脚本。表单不应该被提交,人们应该获得警报功能。我使用CODEIGNITOR框架。
JAVSCRIPT:
<script type="text/javascript">
var swear_words_arr=new Array("fuck","kill","ugly");
var swear_alert_arr=new Array;
var swear_alert_count=0;
function reset_alert_count()
{
swear_alert_count=0;
}
function validate_text()
{
reset_alert_count();
var compare_text=document.form1.msg_text.value;
for(var i=0; i<swear_words_arr.length; i++)
{
for(var j=0; j<(compare_text.length); j++)
{
if(swear_words_arr[i]==compare_text.substring(j,(j+swear_words_arr[i].length)).toLowerCase())
{
swear_alert_arr[swear_alert_count]=compare_text.substring(j,(j+swear_words_arr[i].length));
swear_alert_count++;
}
}
}
var alert_text="";
for(var k=1; k<=swear_alert_count; k++)
{
alert_text+="\n" + "(" + k + ") " + swear_alert_arr[k-1];
}
if(swear_alert_count>0)
{
alert("The message will not be sent!!!\nThe following illegal words were found:\n_______________________________\n" + alert_text + "\n_______________________________");
document.form1.msg_text.select();
}
else
{
document.form1.submit();
}
}
function select_area()
{
document.form1.msg_text.select();
}
window.onload=reset_alert_count;
</script>
有没有可能将其转换为php函数。
模型功能:
public function create_msg($msg_text, $user_id){
$data = array(
'msg_text' => $msg_text,
'user_id' => $user_id
);
if( $this->db->insert('swall_message', $data) ){
return true;
}else{
return false;
}
}
文字代码:
<form action="<?php echo base_url('user/'.$user->user_uid);?>" method="POST" name="form1">
<div class="form-group">
<textarea name="msg_text" onClick="select_area()" cols="30" class="form-control" rows="5" minlength="1" maxlength="5000" required=""></textarea>
<input type="hidden" name="user_id" value="<?php echo $user->user_id;?>">
</div>
<div class="col-12">
<label class="custom-label"><?php if(isset($msg)) echo $msg;?></label>
</div>
<button type="submit" onClick="validate_text();" class="btn btn-block text-uppercase">submit</button>
</form>
过滤PHP代码中的数据
此代码未经测试。请参考这里
<?php
$msg_text = 'fuck';
$data = array(
'msg_text' => $msg_text,
'user_id' => $user_id
);
$swear_words_arr=array("fuck","kill","ugly");
if(in_array($data['msg_text'], $swear_words_arr)){
echo "failed";
return false;
}
// else this is true. your db code below
echo "passed";
return true;
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句