英文:
can't check string for digits and symbols
问题
我需要检查字符串的三种情况:
- 字符串只包含数字;
- 字符串只包含字符;
- 字符串包含数字和字符。
我编写了一个函数,但它不能正确工作。有人可以帮助我吗?
我使用的是JS+wdio。
async function checkNumber() {
const string = (await homepage.getStringText()).slice(15);
expect(await homepage.getStringText()).not.equal("unknown");
if (string.match(/[0-9]/) != null) {
expect(string.length).to.be.greaterThanOrEqual(3);
expect(string.length).to.be.lessThanOrEqual(14);
}
if (string.match(/[A-Z, a-z]/) != null) {
expect(string).to.equal("n/a");
}
if (string.match(/[A-Z, a-z] + [0-9]/) != null) {
expect(string.length).to.be.greaterThanOrEqual(10);
expect(string.length).to.be.lessThanOrEqual(17);
}
}
希望这可以帮助您解决问题。
英文:
I need to check string with 3 cases:
-
string contain only digits;
-
string contain only characters;
-
string contain digits + characters;
I wrote function, but it dont worc correctly. Can somebody help me with it?
I use JS+wdio
async function checkNumber() {
const string = (await homepage.getStringText()).slice(15);
expect(await homepage.getStringText()).not.equal("unknown");
if (string.match(/[0-9]/) != null) {
expect(string.length).be.greaterThanOrEqual(3);
expect(string.length).be.lessThanOrEqual(14);
}
if (string.match(/[A-Z, a-z]/) != null) {
expect(string).equal("n/a");
}
if (string.match(/[A-Z, a-z] + [0-9]/) != null) {
expect(string.length).be.greaterThanOrEqual(10);
expect(string.length).be.lessThanOrEqual(17);
}
}
答案1
得分: 1
- 字符串仅包含数字:
/^\d+$/
- 字符串仅包含字符:
/^\D+$/
- 字符串包含数字和字符:
/^\w+$/
要了解更多关于正则表达式的信息,请阅读MDN文档。
英文:
I hope it can help you:
- string contain only digits:
/^\d+$/
- string contain only characters:
/^\D+$/
- string contain digits + characters:
/^\w+$/
To learn more about Regex, read the MDN documentation
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论