在用 PHP 编写的应用程序的一部分中,我需要在客户端验证中检查某个字段是否至少包含一个字母,为此编写以下 JavaScript代码:
var name_allow_char = /^[a-zA-Z\-\'\s]+$/;
var name_allow_letter = /[A-Za-z]+$/;
if( $.trim( $('#title').val() ).match( name_allow_char ) && !$.trim( $('#title').val() ).match( name_allow_letter ) ) {
//show error
} else {
//ok
}
但是它不起作用。我的意思是,当我使用 12 进行测试时,它显示有效,但由于没有字母,因此应该无效...
谁能告诉我我的代码出了什么问题。
答案 0 :(得分:0)
尝试一下:
if ($.trim($("#title").val()).match(/([a-zA-Z])+([ -~])*/) {
// ok
} else {
// error
}
正则表达式应匹配1个或多个字母,后跟0个或多个ASCII符号(从空格到波浪号)