我是JavaScript的新手,所以我开始从Forms学习。请查看代码并提出建议。
我正在尝试仅验证第一个字段,它必须包含字符串,但不包含数字,也不应包含字母数字字符。但是,如果我输入字母数字字符,它不会显示警报消息窗口。请建议。
function checkFields()
{
var tname = document.getElementById("t0_name").value;
var texpense = document.getElementById("t1_expense").value;
var tdate = document.getElementById("t2_date").value;
var tamt = document.getElementById("t3_amt").value;
var tstatus = document.getElementById("t4_status").value;
var temail = document.getElementById("t5_email").value;
var alphanumeric = /[^a-zA-Z0-9]/;
if (tname == null || tname == "") {
document.getElementById("t0_name").style.border = "1px solid black";
alert('should not be blank');
} else if (!isNaN(tname)) {
alert('Should not be Numeric');
document.getElementById("t0_name").style.border = "1px solid red";
} else if (/[^a-zA-Z0-9]/.test(tname)) {
alert('Input is not alphanumeric');
}
}
由于 巴尔卡尔
答案 0 :(得分:0)
您可以使用以下正则表达式来检查字符,而不是字母数字,即字符和数字。
/^[a-zA-Z]+$/.test('Abc') // true
/^[a-zA-Z]+$/.test('a1') // false
在你的正则表达式中,你已经指定了0-9之间的数字,这就是为什么它在字母数字上返回true。
您也可以使用\ D,即非数字
/^[\D]+$/.test('A')
$之前的+号是一个或多个字符。
答案 1 :(得分:-1)
var alphanumeric = / [^ a-zA-Z] /;完成...谢谢