Skip to content

Instantly share code, notes, and snippets.

@elegantcoder
Created September 2, 2012 15:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elegantcoder/3600531 to your computer and use it in GitHub Desktop.
Save elegantcoder/3600531 to your computer and use it in GitHub Desktop.
Most Common Regexp
# test valid Korean mobile telephone number
checkKoreanMobileTelNum = (str) ->
/^(82|0)1[016789]\d{7,8}$/.test(str.replace(/[^\d]/g, ''))
module.exports = checkKoreanMobileTelNum
assert = require("assert")
describe "Regexp", ->
describe "Korean Mobile Phone Number", ->
it "test Korean Mobile phone number", ->
checkKoreanMobileTelNum = require '../src/korean-mobile-telnum'
assert.equal checkKoreanMobileTelNum('01012341234'), true
assert.equal checkKoreanMobileTelNum('+82-10-234-1234'), true
assert.equal checkKoreanMobileTelNum('010-234-1234'), true
assert.equal checkKoreanMobileTelNum('011-234-1234'), true
assert.equal checkKoreanMobileTelNum('016-234-1234'), true
assert.equal checkKoreanMobileTelNum('017-234-1234'), true
assert.equal checkKoreanMobileTelNum('018-234-1234'), true
assert.equal checkKoreanMobileTelNum('019-234-1234'), true
assert.equal checkKoreanMobileTelNum('010-1234-1234'), true
assert.equal checkKoreanMobileTelNum('011-1234-1234'), true
assert.equal checkKoreanMobileTelNum('016-1234-1234'), true
assert.equal checkKoreanMobileTelNum('017-1234-1234'), true
assert.equal checkKoreanMobileTelNum('018-1234-1234'), true
assert.equal checkKoreanMobileTelNum('019-1234-1234'), true
assert.equal checkKoreanMobileTelNum('+82-010-234-1234'), false
assert.equal checkKoreanMobileTelNum('+82-10-12234-1234'), false
assert.equal checkKoreanMobileTelNum('010-11234-1234'), false
it "test Yahoo! Style User ID", ->
userid = require '../src/yahoo-user-id'
userid.checkUserIdLen Array(4).join 'a', true
userid.checkUserIdLen Array(32).join 'a', true
userid.checkUserIdLen Array(3).join 'a', false
userid.checkUserIdLen Array(33).join 'a', false
userid.checkUserIdStartsWithAlphabet 'a'+Array(3).join 'a', true
userid.checkUserIdStartsWithAlphabet 'z'+Array(3).join 'a', true
userid.checkUserIdStartsWithAlphabet 'A'+Array(3).join 'a', true
userid.checkUserIdStartsWithAlphabet 'Z'+Array(3).join 'a', true
userid.checkUserIdStartsWithAlphabet '0'+Array(3).join 'a', false
userid.checkUserIdStartsWithAlphabet '.'+Array(3).join 'a', false
userid.checkUserIdHasOnlyOneDotOrNot '.'+Array(3).join 'a', true
userid.checkUserIdHasOnlyOneDotOrNot 'a'+Array(3).join 'a', true
userid.checkUserIdHasOnlyOneDotOrNot '..'+Array(3).join 'a', false
userid.checkUserIdValidChars 'aAz!@#!@$!@$', false
userid.checkUserIdValidChars 'aZ_.123fklajsd', true
userid.checkUserId Array(3).join 'a', false
userid.checkUserId Array(33).join 'a', false
userid.checkUserId '.'+Array(10).join('a'), false
userid.checkUserId Array(10).join('a')+'.', false
userid.checkUserId '0'+Array(3).join('a'), false
userid.checkUserId '.'+Array(3).join('a'), false
userid.checkUserId '..'+Array(3).join 'a', false
userid.checkUserId 'aAz!@#!@$!@$', false
# test valid user ID (http://yahoo.com style)
checkUserIdLen = (str) ->
32 >= str >= 4
checkUserIdStartsWithAlphabet = (str) ->
/^[a-zA-Z]/.test str
checkUserIdEndsWithAlnum = (str) ->
/[a-zA-Z0-9]$/.test str
checkUserIdHasOnlyOneDotOrNot = (str) ->
/^\.{0,1}$/.test str
checkUserIdValidChars = (str) ->
/^[0-9A-Za-z_\.]*$/.test str
checkUserId = (str) ->
checkUserIdLen(checkUserIdStartsWithAlphabet(checkUserIdEndsWithAlnum(checkUserIdHasOnlyOneDotOrNot(checkUserIdValidChars(str)))))
module.exports = {
checkUserId: checkUserId
checkUserIdLen: checkUserIdLen
checkUserIdStartsWithAlphabet: checkUserIdStartsWithAlphabet
checkUserIdEndsWithAlnum: checkUserIdEndsWithAlnum
checkUserIdHasOnlyOneDotOrNot: checkUserIdHasOnlyOneDotOrNot
checkUserIdValidChars: checkUserIdValidChars
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment