我想检查一个字符串是否有任何特殊字符。我正在使用这个脚本:
var name = $("#name").val();
if(name.match(/[_\W]0-9/))
{
alert('Not A Name');
}
即使name="sas23"
答案 0 :(得分:4)
而/[_\W]0-9/
正则表达式文字应为/[_\W0-9]/
答案 1 :(得分:2)
你的功能应该是这样的:
var name=$("#name").val();
if(!isLetters(name))
{
alert('Not A Name');
}
function isLetters(str) {
return /^[a-zA-Z]+$/.test(str);
}
答案 2 :(得分:0)
创建正则表达式时,应始终采用白名单方法。这意味着指定允许哪些字符,并默认禁止其他所有字符。如果你想要的只是字母,那么只允许字母:
var name=$("#name").val();
if(!name.match(/^[a-z]+$/i)) {
alert('Not A Name');
}