尝试使用空格进行数字验证。但它不适合我。
if(!user_phone.match(/[^0-9\s]/))
{
$('#user_phone').css({"border":"1px solid red"});
return false;
}
我必须使用的正则表达式是什么?
答案 0 :(得分:4)
尝试使用此正则表达式/^[0-9 ]+$/
或[0-9 ]+
希望这会有所帮助。
答案 1 :(得分:2)
您正在使用匹配除数字和空格之外的所有内容的negated character class,您需要将锚^
放在字符类之外:
/^[0-9\s]/
另请注意,如果您想匹配多个字符,可以使用修饰符+
来匹配数字和空格的一个或多个组合:
/^[0-9\s]+/
请注意\s
将匹配所有空格包含标签和...,如果您只想匹配空间^[0-9 ]+
所需的空间。如果您想使用此正则表达式在多行文本中,您需要使用标记m
,这使得正则表达式引擎从每行的开头匹配锚^
。
答案 2 :(得分:1)
您也可以使用:
/^[\d\s]+$/
答案 3 :(得分:1)
以下是如何完成的示例:jsfiddle
以下是实际代码:
$('button').on('click', function(e){
user_phone = $('#user_phone').val();
$('#user_phone').css({"border":"1px solid #ccc"});
if(!user_phone.match(/^\d[\d\s]+\d$/))
{
$('#user_phone').css({"border":"1px solid red"});
}
})
检查意味着:
也永远不要忘记重置状态,因为如果您输入错误的电话号码,在稍后阶段您将始终获得红色背景