我想只允许文本框中的字符和两个字符之间的空格。我正在尝试避免使用以下Javascript代码中的任何不需要的字符和空白字符串。
var filter = "^[a-zA-Z''-'\s]{1,40}$";
var label = $('#<%= txtName.ClientID %>').val();
if ((label.length > 0) && (label!= '')) {
if (label.match(/^[a-zA-Z \s]{1,40}$/)) {
if (label.match(/^\s$/)) {
alert("Please Enter a Valid name");
return false;
}
else {
$("#myModal").dialog('open');
}
}
else {
alert("Please Enter a Valid name");
}
}
else {
alert("Please Enter a Valid name");
}
除非用户在文本框中输入多个空格,否则此功能正常。我以为label.match(/ ^ \ s $ /))会处理空字符串或空格。
由于
答案 0 :(得分:1)
看起来这是0或更多的工作(RegEx *
)! (原谅我的感叹,今天早上我感觉很震撼)
/^\s$/
表示“只包含一个空格”
我相信你在寻找
/^\s*$/
表示“仅包含零个或多个空格”
答案 1 :(得分:0)
如果你想要多个空格,你应该在正则表达式中使用+符号来表示多个空格然后使用像var expr = /(\ s)+ /