1

我想检查一个字符串是否有任何特殊字符。我正在使用这个脚本:

var name = $("#name").val();
if(name.match(/[_\W]0-9/))
{
    alert('Not A Name');
}

即使在name="sas23"

4

3 回答 3

5

相反,/[_\W]0-9/您的正则表达式文字应该是/[_\W0-9]/

于 2013-01-15T14:04:08.690 回答
2

你的功能应该是这样的:

var name=$("#name").val();
if(!isLetters(name))
{
   alert('Not A Name');
}
function isLetters(str) {
   return /^[a-zA-Z]+$/.test(str);
}
于 2013-01-15T14:00:00.033 回答
0

创建正则表达式时,您应该始终采用白名单方法。这意味着指定允许哪些字符,并默认禁止其他所有字符。如果你想要的只是字母,那么只允许字母:

var name=$("#name").val();

if(!name.match(/^[a-z]+$/i)) {
    alert('Not A Name');
}

试试看。

于 2013-01-15T14:07:53.600 回答