使用RegEx在JavaScript中禁用插入符号(^)

时间:2014-10-01 13:08:48

标签: javascript html regex caret

我正在尝试创建一个“注册”表单,人们可以通过提供诸如名字之类的信息来注册使用该服务。我创建了一个正则表达式,我认为它将排除任何与A-Z和A不同的字符。 - '符号。已实现功能,用户无法在名字字段中输入大多数特殊字符,但插入符号(^)除外。你可以帮我修改我的正则表达式,这样它就不允许用户输入插入符号吗?我尝试过添加^\^^\\^之类的内容,但这些内容无效。

编辑:我找到了实现这个目标的方法,我只是在validate方法中添加了另一行代码,它完全取代了插入符号。谢谢你的帮助!

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)">

1 个答案:

答案 0 :(得分:3)

您包括范围A-z,其中包括所有大写字母,全部小写字母以及其间的字符 - 包括^。选择只需字母表即可完成工作:

&#13;
&#13;
 function validateInputFields(f) 
    {
      !(/^[A-Z ,.'-]+$/i).test(f.value) ? f.value = f.value.replace(/[^A-Z,.'-]/ig, '') : null;
    }
&#13;
&#13;
&#13;