我正在尝试创建一个“注册”表单,人们可以通过提供诸如名字之类的信息来注册使用该服务。我创建了一个正则表达式,我认为它将排除任何与A-Z和A不同的字符。 - '符号。已实现功能,用户无法在名字字段中输入大多数特殊字符,但插入符号(^
)除外。你可以帮我修改我的正则表达式,这样它就不允许用户输入插入符号吗?我尝试过添加^\^
和^\\^
之类的内容,但这些内容无效。
function validateInputFields(f) {
!(/^[A-z ,.'-]+$/i).test(f.value) ? f.value = f.value.replace(/[^A-z,.'-]/ig, '') : null;
f.value = f.value.replace(/\^/g, "");
}
<input tabindex=3 name="txtFirstName" type="text" id="txtFirstName"
onkeyup="validateInputFields(this)"
onblur="validateInputFields(this)">
答案 0 :(得分:3)
您包括范围A-z
,其中包括所有大写字母,全部小写字母以及其间的字符 - 包括^
。选择只需字母表即可完成工作:
function validateInputFields(f)
{
!(/^[A-Z ,.'-]+$/i).test(f.value) ? f.value = f.value.replace(/[^A-Z,.'-]/ig, '') : null;
}
&#13;