Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RegExp验证字符串";900-09999“;_Javascript_Regex - Fatal编程技术网

Javascript RegExp验证字符串";900-09999“;

Javascript RegExp验证字符串";900-09999“;,javascript,regex,Javascript,Regex,验证以下字符串“900-09999”的正确Javascript正则表达式是什么 字符串应仅允许0到9之间的数字、连字符和空格 提前感谢在解释您希望正则表达式验证的内容时,请务必准确。空格和连字符是否可选?这东西很重要。无论如何,这将验证严格格式: "\d{3} \- \d{2} \d{3}" 这是一个不那么严格的问题: "\d{3} ?\-? ?\d{2} ?\d{3}" 如果您使用此选项: inputField.value = inputField.value.replace(/\s*(\

验证以下字符串“900-09999”的正确Javascript正则表达式是什么 字符串应仅允许0到9之间的数字、连字符和空格


提前感谢

在解释您希望正则表达式验证的内容时,请务必准确。空格和连字符是否可选?这东西很重要。无论如何,这将验证严格格式:

"\d{3} \- \d{2} \d{3}"
这是一个不那么严格的问题:

"\d{3} ?\-? ?\d{2} ?\d{3}"
如果您使用此选项:

inputField.value = inputField.value.replace(/\s*(\d\d\d)\s*-?\s*(\d\d)\s*(\d\d\d)\s*/, "$1 - $2 $3")
…如果值不完全匹配,则它应松散地验证并重新格式化该值

分解后,表达式执行以下操作:

\s*          # match any amount of whitespace
(\d\d\d)     # capture three digits
\s*          # match any amount of whitespace
-?           # match an optional hyphen
\s*          # match any amount of whitespace
(\d\d)       # capture two digits
\s*          # match any amount of whitespace
(\d\d\d)     # capture three digits
\s*          # match any amount of whitespace
  • match
    表示查找与表达式匹配的一组字符
  • capture
    意味着查找匹配项,但存储匹配项以供以后使用
  • 空白
    可以是空格、制表符或回车符
  • 任何金额都可能意味着零或更多

这是一项基本的正则表达式技能,您可以通过阅读一些基本示例和启动正则表达式编辑器来获得。请更准确地告诉我们应该验证什么-字符串是否包含引号?连字符需要在那里吗?如果用户删除或添加一个空格怎么办?如果他们复制并粘贴一个标签,而不是某个地方的空格,会怎么样?开头或结尾是否允许空白?如果它非常接近,但不精确,您希望它重新格式化为那样吗?Thx。克劳斯!!是的,空格和连字符是可选的。