当我使用C#和Javascript输入数字时,我如何删除特殊字符,例如卡号
How can i remove special character when I input a number e.g a Cardnumber Using C# with Javascript
这是我的代码。。。我只需要添加一个代码,当用户把一个数字特别是卡号放进去时,防止出现特殊字符。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
function cc_onchange() {
var visa_checkcard = /^4[0-9]{12}(?:[0-9]{3})?$/i;
var master_checkcard = /^5[1-5][0-9]{14}$/i;
var amex_checkcard = /^3[47][0-9]{13}$/i;
var jcb_checkcard = /^(?:2131|1800|35'd{3})'d{11}$/i;
var diners_checkcard = /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/i;
if (!visa_checkcard.test(document.getElementById('ccform_cardnumber_TB').value)) {
if (!master_checkcard.test(document.getElementById('ccform_cardnumber_TB').value)) {
if (!amex_checkcard.test(document.getElementById('ccform_cardnumber_TB').value)) {
if (!jcb_checkcard.test(document.getElementById('ccform_cardnumber_TB').value)) {
if (!diners_checkcard.test(document.getElementById('ccform_cardnumber_TB').value)) {} else {
document.getElementById("ccform_cardtype_TB").value = "diners";
}
} else {
document.getElementById("ccform_cardtype_TB").value = "jcb";
}
} else {
document.getElementById("ccform_cardtype_TB").value = "amex";
}
} else {
document.getElementById("ccform_cardtype_TB").value = "mastercard";
}
} else {
document.getElementById("ccform_cardtype_TB").value = "visa";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Card No."></asp:Label>
<asp:TextBox ID="ccform_cardnumber_TB" runat="server" onchange="cc_onchange();"></asp:TextBox>
<%--<asp:DropDownList ID="ccform_cardtype_TB" runat="server"> <asp:ListItem Value="visa">VISA</asp:ListItem> <asp:ListItem Value="mastercard">Mastercard</asp:ListItem> <asp:ListItem Value="amex">American Express</asp:ListItem> <asp:ListItem Value="jcb">JCB</asp:ListItem> <asp:ListItem Value="diners">Diners</asp:ListItem> </asp:DropDownList>--%>
<asp:Label ID="Label2" runat="server" Text="Card Type"></asp:Label>
<asp:TextBox ID="ccform_cardtype_TB" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
我会检查模糊,而不是每次按键。当人们粘贴数据时,而不仅仅是在键入数据时,这也会引起问题。
如果你的网站以现代浏览器为目标,你可以将输入类型设置为数字,这将让浏览器为你做一些辅助工作(但会删除空格):
<input type="number" />
function checkNum() {
var x = document.getElementById("cardNum");
if(isNaN(x.value)){
// Throw error or alert or whatever
x.value = "";
}
}
Enter your number: <input type="text" id="cardNum" onblur="checkNum()">
如果你想检查数字,你可以这样检查每个按键:在输入元素中添加onkeyup="test_key(this)"
和函数
function test_key(e){
// check the last character entered
var val = parseInt(e.value[e.value.length-1]);
// if it isn't a digit: alert
if(isNaN(val)){
alert(e.value);
}
}
每当用户放入除数字以外的任何其他内容时都会发出警报。
相关文章:
- angularjs删除动态形式元素中的特殊字符
- 用于在Javascript中删除多个空格的特殊字符
- 如何从拼音编辑器中删除特殊字符
- Javascript和RegEx用于删除特殊字符
- JavaScript-Regex删除代码/特殊字符/数字等
- 为什么不用特殊字符替换选择文本,以及如何删除此特殊字符
- 使用javascript从字符串中删除额外或特殊字符时遇到问题
- 如何使用Javascript从字符串中删除特殊字符
- Javascript删除特殊字符之前的所有内容
- JavaScript正则表达式,用于删除特殊字符和多余空格,同时保留逗号
- 如何使用javascript从字符串中删除特殊字符
- 正则表达式使用javascript来删除特殊字符
- 当我使用C#和Javascript输入数字时,我如何删除特殊字符,例如卡号
- jQuery从字符串中删除特殊字符等等
- 如何删除特殊字符,但不删除空格
- 如何在此Javascript代码中删除特殊字符
- Parse.com/Nodejs http-request删除特殊字符
- Javascript函数删除特殊字符
- 删除特殊字符,只保留一个
- 键入时有条件地从字符串中删除特殊字符