名称应该只有albhabet

时间:2015-09-30 10:37:57

标签: javascript

我已经写了一些验证名称的代码,是否有albhabet     如果它没有albhabet,它将抛出错误     以下代码应显示错误,但不显示错误消息

var nameExpression = '/^[a-zA-Z]/';
var name = 'hello123';
if ( !nameExpression.test(name) )
    alert('Error:Please enter the valid name'); 

2 个答案:

答案 0 :(得分:2)

  • 从正则表达式文本周围删除引号。否则它只是一个字符串,而不是RegExp。

  • 在最后添加$/^[a-zA-Z]$/),以便它只匹配完全由ASCII字母组成的字符串,而不仅仅是开始

  • 哦,谢谢帕夫洛和詹姆斯,错过了那个。添加Kleene plus(+),使其匹配的不只是一个字母:/^[a-zA-Z]+$/

额外提示:如果您正在解析真实姓名而不是代码,那么应该期望非ASCII字母。你有点搞砸,因为JavaScript正则表达式还不支持Unicode,但这是一个开始:

/^[^\s\d]+$/i

答案 1 :(得分:1)

var nameExpression = /^[a-zA-Z]+$/;
var name = 'hello123';
if ( !nameExpression.test(name) )
    alert('Error:Please enter the valid name');

说明:         1.nameExpression不应该是字符串         你应该使用诸如'$'之类的结束分隔符         例如         var nameExpression = / ^ [a-zA-Z] $ /;