Javascript 使用.match()验证字符串
我正在验证各种输入数据参数 我想弄清楚。匹配和RegExp 这似乎验证了字符串是否仅包含0-9个字符: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'); 该方法在将字符串与正则表
!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)中,该检查器将为您提供一个类似英语的说明,说明其含义?您的说明描述了匹配
,然后您的示例使用测试
。