Files
hustoj/web/include/checksource.js
2024-10-10 12:56:56 +08:00

47 lines
2.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
function checkIsChinese(str){
//如果值为空,通过校验
if (str == "")
return false;
var pattern = /([\u4E00-\u9FA5]|[\uFE30-\uFFA0])+/gi;
if (pattern.test(str))
return true;
else
return false;
}
function checksource(src){
if (document.getElementById("language").value>"3")
return true;
var keys=new Array();
var errs=new Array();
var msg="";
keys[0]="void main";
errs[0]="main函数返回值不能为void,否则会编译出错,请使用int main()并在最后return 0。\n虽然VC等windows下的编译器支持,C/C++标准中不允许使用void main()!!!";
if (document.getElementById("language").value=="3"){
keys[0]="int main";
errs[0]="java要求有public static void main函数";
}
keys[1]="Please";
errs[1]="除非题目要求否则不要使用类似Please input这样的提示";
keys[2]="请";
errs[2]="除非题目要求,否则不要使用类似‘请输入’这样的提示";
keys[3]="输入";
errs[3]="除非题目要求,否则不要使用类似‘请输入’这样的提示";
keys[3]="input";
errs[3]="除非题目要求否则不要使用类似Please input这样的提示";
keys[4]="max=%d";
errs[4]="除非题目要求否则不要使用类似max=’这样的提示";
keys[5]="mian";
errs[5]="是不是把main打成mian了";
for(var i=0;i<keys.length;i++){
if(src.indexOf(keys[i])!=-1){
msg+=errs[i]+"\n";
}
}
if(checkIsChinese(src))
msg+="程序中有中文字符!注意,一般来说本系统中的题目都不会要求输出提示,特别是中文提示。\n请先使用SampleInput做输入对比输出和SampleOutput有任何多余的输出包括提示、多出的逗号、等号空格等等都会被判错误\n如有任何程序内容出现中文的括号、分号、引号、空格都会编译出错。";
if(msg.length>0)
return confirm(msg+"\n 代码可能有错误,确定要提交么?\n建议先使用题目的SampleInput做测试看看你的程序输出是否与SampleOutput完全一致。\n多个空格标点都会被认为是错误答案WrongAnswer。\n如果出现编译错误CompileError请点击CompileError字样查看具体编译报错以便纠正。");
else
return true;
}