Regex TestBech
by kontrax
HTML
<div id="form">
<input type="text" id="pattern" value="\@\w{4,15}\b">
<!--<input type="text" id="pattern" value="\b[A-Z]{2}[\ ]\d{5}\b">-->
<!--<input type="text" id="pattern" value="\b\d{4}([\ \.]?)\d{2}\1\d{5}\b">-->
<input type="text" id="flags" value="g">
<br>
<input type="text" id="test"
value="@valid invalid @_valid @invalid_to_long_name @low">
<!--<input type="text" id="test"
value="PD 12345 - PD12345 - PD 123456">-->
<!--<input type="text" id="test"
value="1234.56.78910' '12345678910' '1234 56 78910' '1234 56.78910'">-->
<button id="btn">Run Test</button>
<hr>
<div id="result"></div>
</div>
CSS
/************************************
twitter ID:
/\@\w{4,15}\b/
----------------------
Norsk bilskilt:
/\b[A-Z]{2}[\ ]\d{5}\b/
------------------------------
bank konto:
/\b\d{4}([\ \.]?)\d{2}\1\d{5}\b/
------------------------------
\+?
\d{2}
[\ ]
\d{8}
------------------------------
- Single Characters/Symbols
\w = a-z || A-Z || _
[a-zA-Z_] = ---"----
[a-z] = abc....z (small-case)
\d = 0-9
[0-9] = ---
\s = (mellomrom) || (tab) || (ny linje) || (ny linje windows)
[\n] = ny linje
[\r\n] = ny linje windows
[\ ] = mellomrom
[\t] = tab
[\$\&] = $ || &
[\\] = \
. = alt utenom line-break
-------------------------------
- Boundries
^ = start of string
$ = end of string
\b = start/end of word
-------------------------------
- Repitition
. = 1 = {1}
.* = 0 ++ = {0,}
.+ = 1 ++ = {1,}
.? = 0 || 1 = {0,1}
.{x,x} = {min, max} || {antall} || {min,} || {,max}
-------------------------------
+47 12345
47 12345
\+?\d\d \d\d\d\d\d
/\+?\d{2}[\ ]\d{8}/
JavaScript
var e_pattern = document.getElementById("pattern")
var e_txt = document.getElementById("test")
var e_flags = document.getElementById("flags")
var e_btn = document.getElementById("btn")
var e_result = document.getElementById("result")
// Start ----------------------------------------
e_btn.onclick = () => {
const flags = e_flags.value
const pattern = new RegExp(e_pattern.value, flags)
const testString = e_txt.value
let result = ""
const matches = testString.match(pattern) || []
const found = (matches.length > 0)
result = matches.join('<br>')
e_result.innerHTML = (found ? 'true' : 'false') + `:${matches.length}<br><hr>` + result;
}