te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Regular expression for name with spaces allowed in between the text and avoid spaces when there is no text - Stack
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Regular expression for name with spaces allowed in between the text and avoid spaces when there is no text - Stack

programmeradmin2浏览0评论

Hello I'm trying to write a regular expression for user name in my form.

The regular expression should allow spaces and . when the text is written

Ex : S. Harish Kumar

Check the regEx that I have written so far

^[a-zA-Z\s\.]*$

The above regEx also accepts any string with just spaces and . which I don't want. Can you help me with the perfect regEx which doesn't accept spaces and . when no text is entered?

Thanks in advance :)

Hello I'm trying to write a regular expression for user name in my form.

The regular expression should allow spaces and . when the text is written

Ex : S. Harish Kumar

Check the regEx that I have written so far

^[a-zA-Z\s\.]*$

The above regEx also accepts any string with just spaces and . which I don't want. Can you help me with the perfect regEx which doesn't accept spaces and . when no text is entered?

Thanks in advance :)

Share Improve this question asked May 12, 2017 at 10:17 HarishHarish 1,2738 gold badges24 silver badges47 bronze badges 1
  • Are leading/trailing dots/spaces allowed ? – abhishekkannojia Commented May 12, 2017 at 10:19
Add a ment  | 

3 Answers 3

Reset to default 9

Just disallow a string that only consists of whitespaces/dots:

^(?![\s.]+$)[a-zA-Z\s.]*$
 ^^^^^^^^^^^ 

See the regex demo.

The (?![\s.]+$) is a negative lookahead that fails the match if the whole string contains whitespace or dot chars only.

You could use ^[a-zA-Z].*[\s\.]*$

  • ^[a-zA-Z] asserts string starts with a char (a-zA-Z)
  • .*[\s\.]*$ followed by any char dot and spaces included

See following example:

var regex = /^[a-zA-Z].*[\s\.]*$/g;


function check(par){
  console.log(par.value + " match: " + regex.test(par.value));
}
Name <input type="text" id="test" value="" onchange="javascript:check(this)">

I would say a name is a sequence of alphabetic chars delimited by spaces or dots, which can be defined by the following regex:

^[a-zA-Z]+(?:[\s.]+[a-zA-Z]+)*$

Demo: https://regex101./r/rH5jtc/2

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论