修改给定的正则表达式以检查字符串是否不包含 phone 数字
Modify given regex to check if string contains no phone number
我有一个 jQuery 验证方法来检查是否输入了 phone 数字
现在我需要修改它来检查字符串是否不包含 phone 数字
$.validator.addMethod('contains_no_phone_number', function (value, element) {
return this.optional(element) || /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im.test(value);
}, "Do not include phone number");
我不希望有人以下面的格式输入包含 phone 数字的字符串:
02221234567
0222-1234567
+862221234567
+86-222-123-4567
+86(222)1234567
我想要 jquery 验证器方法应该 return
PHONE_NUMBER (假)
PHONE_NUMBER一些字(假)
有些词PHONE_NUMBER(假)
一些词PHONE_NUMBER一些词(假)
一些单词(正确)
Phone号码长度介于7和
以上
注意:如果需要,请随意制作您自己的正则表达式。
遵循逻辑 from our chat,这里是模式:
/^(?!.*(?:\s|^)(?:\+\d|0)(?:[()-]*\d){6,}(?!\S))/
参见regex demo。
详情:
^
- 字符串开头
(?!
- 否定前瞻的开始:
.*
- 除换行字符外的任何零个或多个字符,尽可能多
(?:\s|^)
- 空格或字符串开头
(?:\+\d|0)
- +
和一个数字,或一个零
(?:[()-]*\d){6,}
- 零个或多个 (
、)
或 -
字符出现六次或更多次,然后是数字
(?!\S)
- 当前位置右侧不允许有非空白字符
)
- 超前检查结束。
我有一个 jQuery 验证方法来检查是否输入了 phone 数字
现在我需要修改它来检查字符串是否不包含 phone 数字
$.validator.addMethod('contains_no_phone_number', function (value, element) {
return this.optional(element) || /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im.test(value);
}, "Do not include phone number");
我不希望有人以下面的格式输入包含 phone 数字的字符串:
02221234567
0222-1234567
+862221234567
+86-222-123-4567
+86(222)1234567
我想要 jquery 验证器方法应该 return
PHONE_NUMBER (假)
PHONE_NUMBER一些字(假)
有些词PHONE_NUMBER(假)
一些词PHONE_NUMBER一些词(假)
一些单词(正确)
Phone号码长度介于7和
以上注意:如果需要,请随意制作您自己的正则表达式。
遵循逻辑 from our chat,这里是模式:
/^(?!.*(?:\s|^)(?:\+\d|0)(?:[()-]*\d){6,}(?!\S))/
参见regex demo。
详情:
^
- 字符串开头(?!
- 否定前瞻的开始:.*
- 除换行字符外的任何零个或多个字符,尽可能多(?:\s|^)
- 空格或字符串开头(?:\+\d|0)
-+
和一个数字,或一个零(?:[()-]*\d){6,}
- 零个或多个(
、)
或-
字符出现六次或更多次,然后是数字(?!\S)
- 当前位置右侧不允许有非空白字符
)
- 超前检查结束。