javascript - 正则表达式如何匹配任意多个空格?
阿神
阿神 2017-04-11 11:11:25
[JavaScript讨论组]

var str="ls @a"
var ss = $.trim(str);

if(ss.match(/^[ls][s]+[@]{1}[a-zA-Z0-9u4E00-u9FA5]+/g))//ls_@xxx

document.getElementById("gg").innerHTML="yes";

else document.getElementById("gg").innerHTML="no";
代码如上,测试结果:

var str="ls @a" 输出yes
var str="ls @a" 输出no,希望输出yes
var str="ls @@a" 输出no

希望解决上面输出和希望中不一样的那一个,正则不知道写得对不对,主要是想:
ls开头,ls到第一个@之间任意空格,然后@之后紧跟一个或多个a-zA-Z0-9u4E00-u9FA5
ls_+@a-zA-Z0-9u4E00-u9FA5
求大神帮忙!!!!

阿神
阿神

闭关修行中......

全部回复(3)
伊谢尔伦

"\s*"
匹配0个或多个不可见符号,包括空格。

PHPz

var re = /^ls\s*@[a-zA-Z0-9\u4E00-\u9FA5]+/g;
var gg = document.getElementById("gg")
if (re.test(str)) {

gg.innerHTML="yes";

} else {

gg.innerHTML="no";

}

迷茫

测试例子:

var arr = [
  // true
  'ls @a', // 单空格
  'ls  @a', // 多空格
  'ls \xA0 @a', //   实体空格
  'ls  @aB呵呵', // 大小写中文

  // false
  'ls @@a',
  'ls @a@b',
  'ls @a-b',
  'ls@a',
];

var re = /^ls[\s\xA0]+@(?!.*@)[a-z\d\u4E00-\u9FA5]+$/i;
arr.forEach(str => {
  console.log(re.test(str), str);
});

你要的正则:

/^ls[\s\xA0]+@(?!.*@)[a-z\d\u4E00-\u9FA5]+$/i
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号