我有一个数据字符串,它通常会像这样读取:“0010,0010,0030”。如果所有数字都不匹配,我需要通过设置警报来验证该字符串。所以如果字符串看起来像这个“0010,0010,0010”那么没有问题,我的逻辑按计划进行。但是如果它看起来像这样:“0010,0010,0030”,那么我需要提醒用户他们选择了不正确的操作(0010和0030是逻辑中的操作),并且他们必须重新选择。有任何想法吗?用于操作的Javascript字符串验证
回答
只需在,
上分割字符串,然后比较条目。
像下面这样(我没有测试这一点,但它的轮廓)
var input = "0010, 0010, 0010",
tokens = input.split(','),
result = true;
for (var i = 0; i <= tokens.length - 1; i++) {
if (i <= tokens.length - 2) {
// get rid of whitespace
if (tokens[i].replace(/\s/g, '') !== tokens[i+1].replace(/\s/g, '')) result = false;
}
}
alert(result);
转换为数字将降至微不足道的数字(例如''0010''将成为'10' ) – jbabey 2012-08-03 17:37:22
@jbabey - 真的,你的评论帮助我简单地这,thanx – hvgotcodes 2012-08-03 17:38:36
这是完美的,我重新配置,以适应我的逻辑,它工作正常,非常感谢每个人 – Deckard 2012-08-03 18:09:16
试试这个:
var split="0010, 0010, 0030".split(", ");
var ok = true;
for (i = 0; i < split.length - 1; i++)
{
if (split[i] != split[i + 1])
{
//reset_logic();
ok = false;
break;
}
}
if (ok)
{
//all_good();
}
我会建议定期表达:
// gives you an array with values "0010", "0010", and "0030"
var matches = '0010, 0010, 0030'.match(/(\d+)/);
然后只是循环比赛并将它们的邻居进行比较。如果有任何不常见的,你有你的答案,所以打破循环。
var allMatch = true;
for (var i = 1; i < matches.length; i++) {
if (matches[i-1] !== matches[i]) {
allMatch = false;
break;
}
}
if (allMatch) {
...
} else {
...
}
- 1. JavaScript的字符串操作
- 2. 的JavaScript字符串操作
- 3. Javascript字符串验证
- 4. JavaScript操作HTML字符串
- 5. JavaScript字符串操作
- 6. javascript字符串操作
- 7. javascript字符串操作
- 8. 关于字符串操作
- 9. 使用javascript验证json字符串
- 10. 如何验证JavaScript中的字符串?
- 11. 如何验证字符串只用于非字母字符jquery验证
- 12. Javascript字符串赋值操作符
- 13. javascript中的字符串操作
- 14. Javascript代码中的字符串操作
- 15. 字符串时间验证(在javascript中)
- 16. 简单的JavaScript验证码基于字符串从数组
- 17. 关于字符串中的操作
- 18. Javascript字符串操作和innerHtml
- 19. Javascript日期/字符串操作
- 20. 互动字符串操作通过JavaScript
- 21. Javascript字符串操作 - 网址
- 22. 使用字符串操作
- 23. 字符串操作
- 24. 字符串操作
- 25. 字符串操作
- 26. 字符串操作
- 27. 字符串操作
- 28. 字符串操作
- 29. 字符串操作
- 30. 字符串操作?
检查了这一点:http://jsfiddle.net/hrBTX/ – canon 2012-08-03 17:43:35
这也非常有帮助谢谢佳能 – Deckard 2012-08-03 18:31:13