我已经写了一些验证名称的代码,是否有albhabet 如果它没有albhabet,它将抛出错误 以下代码应显示错误,但不显示错误消息
var nameExpression = '/^[a-zA-Z]/';
var name = 'hello123';
if ( !nameExpression.test(name) )
alert('Error:Please enter the valid name');
答案 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] $ /;