如何通过编辑以下代码进行验证来限制在文本框(txt_edition)中输入特殊字符?我只想输入数字。
<script>
function validateForm()
{
var x = document.forms["frm_bokAdd"]["txt_edition"].value;
if (x==null || x=="")
{
alert("Edition must be filled out");
return false;
}
</script>
以下是我的表格
<form name="frm_bokAdd" action ="#" method="post" onsubmit="return validateForm()" >
<table border="0" align="center">
<tr><td> <input type="text" name="txt_edition" ></td></tr>
<tr><td> <input type="submit" name="bookIns_submit" value="Add"></td></tr>
</table>
</form>
答案 0 :(得分:1)
可以使用此
<强> HTML 强>
<input type="text" onkeypress="return isNumber(event)" >
JS (身体末尾)
function isNumber(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
<强> DEMO is Here 强>
答案 1 :(得分:0)
使用正则表达式。
if (x.match(/^[0-9]*\.[0-9]*$/) !== null) {
//text is only numbers (use /^[0-9]*$/ for integers)
}
答案 2 :(得分:0)
试试吧
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
body
{
font-size: 9pt;
font-family: Arial;
}
</style>
</head>
<body>
Alphanumeric value:
<input type="text" id="text1" onkeypress="return IsAlphaNumeric(event);" ondrop="return false;"
onpaste="return false;" />
<span id="error" style="color: Red; display: none">* Special Characters not allowed</span>
<script type="text/javascript">
var specialKeys = new Array();
specialKeys.push(8); //Backspace
specialKeys.push(9); //Tab
specialKeys.push(46); //Delete
specialKeys.push(36); //Home
specialKeys.push(35); //End
specialKeys.push(37); //Left
specialKeys.push(39); //Right
function IsAlphaNumeric(e) {
var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
document.getElementById("error").style.display = ret ? "none" : "inline";
return ret;
}
</script>
</body>
</html>
答案 3 :(得分:0)
尝试使用正则表达式 -
var edition = document.getElementById('txt_edition').value;
outputVal = edition.replace(/[^0-9a-zA-Z]/g,"");
if (edition != outputVal) {
return false;
}
答案 4 :(得分:0)
您可以限制按键,如下所示
function restrict_letters(e) {
var keyCode = e . keyCode == 0 ? e . charCode : e . keyCode;
// only 0 to 9
if (keyCode < 48 && keyCode > 57) {
return false;
}
}
您可以在here中获得更多关键代码。
同样更改下面的html函数调用,
<input type="text" onkeypress="return restrict_letters(event)">
注意:函数调用需要为输入字段提供而不是表单提交。
答案 5 :(得分:0)
如何限制在文本框中输入特殊字符(txt_edition)
唐&#39;吨。允许用户以他们喜欢的方式获得有效值,您只关心该值在发送到服务器时是否有效,即使这样,您也应该在那里验证。
通过编辑以下代码进行验证?我只想输入数字。
只需在提交表单时进行测试,并在调用中传递对表单的引用:
<form ... onsubmit="return validateForm(this)" >
和功能:
function validateForm(form) {
var value = form.txt_edition.value;
if (/\D/.test(value) || value == '') {
alert("Edition must be filled out and contain only numbers");
return false;
}
}
答案 6 :(得分:0)
允许用户仅输入数字和点。使用此正则表达式
function NumAndTwoDecimals(event , obj){
reg = /[^0-9.,]/g;
obj.value = obj.value.replace(reg,"");
}
HTML代码
<input id="txtId" type="text" onkeyup="NumAndTwoDecimals(event , this);"></input>
限制用户在“。”之后只输入两个数字。运营商使用
function NumAndTwoDecimals(e , field) {
var val = field.value;
var re = /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)$/g;
var re1 = /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)/g;
if (re.test(val)) {
//do something here
} else {
val = re1.exec(val);
if (val) {
field.value = val[0];
} else {
field.value = "";
}
}
}