Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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/2/ionic-framework/2.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 使用.match()验证字符串_Javascript - Fatal编程技术网

Javascript 使用.match()验证字符串

Javascript 使用.match()验证字符串,javascript,Javascript,我正在验证各种输入数据参数 我想弄清楚。匹配和RegExp 这似乎验证了字符串是否仅包含0-9个字符: !str.match(/^[0-9]+$/) 如果字符串包含其他内容,则失败 这是正确理解的,还是只是检查字符串是否包含任何0-9个字符 所以我可以做到: if (!string.match(/^[0-9]+$/)) console.log('fails as the string contains other characters than 0-9'); 该方法在将字符串与正则表

我正在验证各种输入数据参数

我想弄清楚。匹配和RegExp

这似乎验证了字符串是否仅包含0-9个字符:

!str.match(/^[0-9]+$/)
如果字符串包含其他内容,则失败

这是正确理解的,还是只是检查字符串是否包含任何0-9个字符

所以我可以做到:

if (!string.match(/^[0-9]+$/))
    console.log('fails as the string contains other characters than 0-9');
该方法在将字符串与正则表达式匹配时检索匹配项

正则表达式是
/^[0-9]+$/
,这意味着

^
:断言字符串开头的位置

[0-9]
:范围在0(ASCII 48)和9(ASCII 57)之间的单个字符

+
:量词-在一次和无限次之间匹配,尽可能多地匹配

$
:断言字符串末尾的位置

以下代码段使用test()方法测试字符串中的匹配项

var regex=/^[0-9]+$/;
控制台日志(regex.test(“0123”))//仅为0-9
console.log(regex.test(“1”))//仅为0-9
console.log(regex.test(“”)//false不是至少1个字符0-9
控制台日志(regex.test(“a0123”)//false包含一个字母

控制台日志(regex.test(“abc”)//false包含多个字母
,就我个人而言,我会使用以下内容:

string='188867899';
var regex=/\D///任何非数字字符
if(regex.test(string))//如果字符串包含任何非数字字符
log('字符串1包含非数字字符');
string2='1888y67899';
var regex=/\D///任何非数字字符
if(regex.test(string2))//如果字符串包含任何非数字字符

log('字符串2包含非数字字符')为什么不运行代码,看看它能做什么?或者阅读regexp教程?或者将其粘贴到regexp检查器(如regex101.com)中,该检查器将为您提供一个类似英语的说明,说明其含义?您的说明描述了
匹配
,然后您的示例使用
测试