use*_*152 6 javascript validation
你好,所以我试图修剪白色空间,当用户输入空格时,他得到一个错误解释他应该输入有效的字符,但如果他使用:' test '在数据库中输入相同的值我需要在javascript中再次修剪它吗?
function validateForm()
{
if(trim(document.insert.aname.value) ==="")
{
alert("Animal should have a name");
document.insert.aname.focus();
return false;
}
}
function trim(value) {
return value.replace(/^\s+|\s+$/g,"");
}
Run Code Online (Sandbox Code Playgroud)
请帮忙吗?输入页面是.JSP
你实际上并没有修改输入.你要这个:
//store the input in a variable
var nameInput = document.insert.aname
function validateForm() {
//Get the trimmed name
var animalName = trim(nameInput.value)
if(animalName) {
//Update the form with the trimmed value, just before the form is sent
nameInput.value = animalName
}
else {
//Trimmed value is empty
alert("Animal should have a name");
nameInput.focus();
return false;
}
}
function trim(value) {
return value.replace(/^\s+|\s+$/g,"");
}
Run Code Online (Sandbox Code Playgroud)
首先,我将提供一些未经请求的建议:)即使您的javascript代码修剪了用户的输入,您也无法保证此代码将始终运行.例如,用户可能会在其浏览器上禁用javascript或仅使用库(其中大量存在)以编程方式提交表单数据,而无需使用任何浏览器.
因此,您应该始终修剪服务器端的输入(在您的情况下,在JSP中).在生产系统中,您需要做的不仅仅是修剪,还需要检查最大大小和数据类型(因此,如果您的JSP需要数字输入,则需要检查)
这意味着您基本上必须进行两次数据验证.您在浏览器中执行的数据验证可以帮助用户,并且在输入无效内容时应显示用户友好的消息.重要的概念是浏览器验证不提供安全性,因为它没有提供任何安全性.安全性来自服务器端验证.服务器端验证提供用户友好的反馈并不是那么重要; 它确实很好,但它不是最重要的.
现在,问你的问题.当你打电话的时候
trim(document.insert.aname.value)
Run Code Online (Sandbox Code Playgroud)
这不会改变表单中的值.它只是返回一个剪裁版本的表单数据.因此,当您提交表单时,"test"末尾的空格会与表单数据一起出现.
javascript可能会操作表单中的内容,但这种做法并不常见,也不可取.所以,总结一下:
希望这可以帮助.菲尔
| 归档时间: |
|
| 查看次数: |
36745 次 |
| 最近记录: |